我正在通过MongoDB命令db.currentOp
调查我的应用程序的性能降级问题。我发现结果中有一些查询具有非常高的timeLockedMicros.r: 7009711
,timeAcquiringMicros.r: 3507005
和secs_running: 4
值。
但是当我尝试执行该查询时,它运行得很快。当我explain
此查询时,结果看起来很好,如下所示。
"cursor" : "BtreeCursor to.id_1", "n" : 3857, "nChunkSkips" : 0, "nYields" : 0, "nscanned" : 3857, "nscannedAllPlans" : 4362, "nscannedObjects" : 3857, "nscannedObjectsAllPlans" : 4362, "millisShardTotal" : 43, "millisShardAvg" : 43, "numQueries" : 1, "numShards" : 1, "indexBounds" : { "to.id" : [ [ "56a1aacf252b41c76aac61c9", "56a1aacf252b41c76aac61c9" ] ] }, "millis" : 44
我不明白为什么它使用~7000秒的读锁定并且在执行时使用44毫秒时运行4秒。