使用profiler
profiler方式是使用Profile日志来完成数据库监控的。Profiler默认是关闭的,你可以选择全部开启,或者有慢查询的时候开启。使用setProfilingLevel命令进行开启,setProfilingLevel命令参数可以是0,1,2,其中0表示关闭profile;1表示只抓取slow查询;2表示抓取所有数据。getProfilingLeve()用来获取目前profiler的设置。
use test
db.setProfilingLevel(2)
db.getProfilingLevel()
查看Profiling数据,可以使用show profile,会显示最近至少1ms时间运行的前5条记录。
show profile
也可以直接在system.profile的collection上查看如:db.systen.profile.find()
db.system.profile.find({ts:{$gt:new ISODate("2014-07-12T03:00:00Z"),$lt:new ISODate("2015-07-12T03:40:00Z")}},{user:0}).sort({millis:-1})
几个参数的含义:ts:时间戳,info:具体的操作,millis:操作所花时间,毫秒