mongodb慢查询

最近mysql同步到mongodb很慢,开始排查问题。

首先想到的是mongodb的问题,那么就要找出它的慢查询日志,证明是mongodb的问题

一、

用那个绿色的工具,robomongo打开,对着某个需要的数据库打开shell(右键open shell),(一定要这样,否者会查到或者设置到别的数据库,导致一直没看到数据)

二、

mongodb有profiling三个级别:

0:关闭,不收集任何数据。

1:收集慢查询数据,默认是100毫秒。

2:收集所有数据

首先查看级别db.getProfilingLevel():

可以看到默认是0

然后查看状态:

db.getProfilingStatus(),这里会有级别和慢查询记录的毫秒数,默认100毫秒

三、

设置级别为1

db.setProfilingLevel(1),再用db.getProfilingStatus()这个查看,已经是1了

四、查询

返回大于5毫秒慢的操作:

db.system.profile.find({ millis : { $gt : 5 } } ).pretty()

把5变成1000,居然有这么多记录,难怪会这么慢了。。。

接下去就是mongdb建索引去优化了

参考1、参考2

 

 

你可能感兴趣的:(monodb)