是否开启了慢查询记录
选择某一数据库,执行db.getProfilingStatus()
,可得到如下结果:
was=1表示开启了慢查询记录,0表示未开启
showms表示记录超过多少ms的数据库操作
开启记录慢查询
开始方法有2种
选中某一数据库后,shell里执行db.setProfilingLevel(1,200)
,其中,参数1表示记录的级别,参数2表示记录大于多少ms的操作
0:关闭,不收集任何数据。
1:收集慢查询数据,默认是100毫秒。
2:收集所有数据
#也可以MongoDB启动时,开启Profiling
mongod --profile=1 --slowms=200
#或者在配置文件里添加
profile = 1
slowms = 200
分析方法
查看system.profile表,里面会记录所有慢查询记录
其中一条的详细说明如下:
#下面是一个超过200ms的查询语句
{
"op" : "query", #操作类型,有insert、query、update、remove、getmore、command