mongodb cpu 过高

来源:互联网 发布:注册淘宝号 编辑:程序博客网 时间:2024/05/01 14:40

突然发现mongo CPU飙升, 查询mongo log(位置可在mongo.conf 中查找) 发现,存在慢查询。

2017-09-27T14:46:06.469+0800 I COMMAND  [conn6] command house.orders command: count { count: "orders", query: { status: 16, resource: ObjectId('5987165a3ccffc7dffc3afc1') } } planSummary: COLLSCAN keysExamined:0 docsExamined:29576 numYields:232 reslen:44 locks:{ Global: { acquireCount: { r: 466 } }, Database: { acquireCount: { r: 233 } }, Collection: { acquireCount: { r: 233 } } } protocol:op_query 100ms




可以看出是 orders表在做count查询时,特别慢。


解决方案:为status, resource 添加索引。

db.orders.ensureIndex({status:1, resource: -1});