2015-11-19 16:07:32.0|分类: MongoDB|浏览量: 1513
在MongoDB中,慢查询日志是经常作为我们优化数据库的依据。 开启 Profiling 功能 进入客户端 mongo 调用db.setProfilingLevel(级别) 命令来实时配置。可以通过db.getProfilingLevel()命令来获取当前的Profile级别。 > db.setProfilingLevel(2); {"was" : 0 , "ok" : 1} > db.getProfilingLevel() 上面斜体的级别可以取0,1,2 三个值,他们表示的意义如下: 0 – 不开启 1 – 记录慢命令 (默认为>100ms) 2 – 记录所有命令 Profile 记录在级别1时会记录慢命令,那么这个慢的定义是什么?上面我们说到其默认为100ms,当然有默认就有设置,调用db.setProfilingLevel时加上第二个参数db.setProfilingLevel( level , slowms )
db.setProfilingLevel( 1 , 10 ); 查询 Profiling 记录,Mongo Profile 记录是直接存在系统db里的,记录位置 system.profile ,所以,我们只要查询这个Collection的记录就可以获取到我们的 Profile 记录了。 > db.system.profile.find() > db.system.profile.find( { millis : { $gt : 5 } } ) 查看最新的 Profile 记录: db.system.profile.find().sort({$natural:-1}) |