Mongo慢查询配置
Mongo慢查询配置
Mongodb慢查询设置
Mongo>db.setProfilingLevel(1,500);
Mongo>db.setProfilingLevel(2,500);
解释为什么设置两次:
0代表关闭,1代表只记录slowlog,2代表记录所有操作,这里设置成了500,即500ms
查看当前状态
Mongo>db.getProfilingStatus();
Mongo>db.getProfilingLevel();
查看最后的日志信息
Mongo>db.system.profile.find().sort({$natural:-1})
返回结果字段解释:
ts:时间戳
op: 操作类型
ns:执行操作的对象集合
millis:操作所花时间,毫秒
client: 执行操作的客户端
user: 执行操作的mongodb连接用户
查看日志
Mongo>db.system.profile.find().limit(10).sort({ts:-1}).pretty();
Mongo>db.system.profile.find().limit(10).sort({ts:1}).pretty();
关闭日志
Mongo>db.setProfilingLevel(0);
显示结果分析,查询大于5毫秒的slow command
Mongo>db.system.profile.find().sort({millis:-1}).limit(10);
Mongo>db.system.profile.find().( { millis : { $gt : 5 } } ).pretty();
另:MongoSPY 这个工具可以可视化监控MongoDB慢查询,但是网速相关资料太少了,进行不下去了。如果有兴趣,可以研究下。
发表评论