我们正在使用当前正在生产的应用程序中的一个Mongdb。
有时我们在用户前端遇到缓慢(即数据缓慢加载到已登录的用户)
我们想排除缓慢的可能问题。 我的问题是,有什么方法可以知道Mongo数据库查询需要花多少时间来响应?
非常感谢。
更新了部分
谢谢,这是从Mongo db开发框中获取的样本结果
{ "ts" : ISODate("2013-01-02T19:11:16.822Z"), "op" : "query", "ns" : "ravi.system.indexes", "query" : { "expireAfterSeconds" : { "$exists" : true } }, "ntoreturn" : 0, "ntoskip" : 0, "nscanned" : 1, "keyUpdates" : 0, "numYield" : 0, "lockStats" : { "timeLockedMicros" : { "r" : NumberLong(65), "w" : NumberLong(0) }, "timeAcquiringMicros" : { "r" : NumberLong(4), "w" : NumberLong(5) } }, "nreturned" : 0, "responseLength" : 20, "millis" : 0, "client" : "0.0.0.0", "user" : "" }
{ "ts" : ISODate("2013-01-02T19:10:16.822Z"), "op" : "query", "ns" : "ravi.system.indexes", "query" : { "expireAfterSeconds" : { "$exists" : true } }, "ntoreturn" : 0, "ntoskip" : 0, "nscanned" : 1, "keyUpdates" : 0, "numYield" : 0, "lockStats" : { "timeLockedMicros" : { "r" : NumberLong(66), "w" : NumberLong(0) }, "timeAcquiringMicros" : { "r" : NumberLong(4), "w" : NumberLong(4) } }, "nreturned" : 0, "responseLength" : 20, "millis" : 0, "client" : "0.0.0.0", "user" : "" }
但是从这一点我怎么知道每个查询花了多少时间?
答案 0 :(得分:8)
使用分析器,设置db.setProfilingLevel(2)
以启用它。
和db.system.profile.find().sort({$natural:-1})
查看记录