我正在检查MongoDB实例上长时间运行的查询的状态。该操作已运行1514秒。我正在尝试理解此输出,但数字secs_running
,timelockedMicros
,timeAcquiringMicros
非常令人困惑。
从documentation开始,secs_running是自操作开始以来经过的时间,在这种情况下为1514秒。但是timeAcquiringMicros
似乎表明操作一直在等待整个1514秒的读锁定,这显然是不正确的,因为它到目前为止已经产生了196762条记录并且根据timeLockedMicros
锁定了825秒。
这是MongoDB中currentOp()函数的错误吗?我正在使用2.4.3版本
{
"inprog" : [
{
"opid" : 1439744,
"active" : true,
"secs_running" : 1514,
"op" : "getmore",
"ns" : <namespace>,
"query" : <query>,
"client" : "127.0.0.1:50735",
"desc" : "conn485",
"threadId" : "0x14f004000",
"connectionId" : 485,
"waitingForLock" : false,
"numYields" : 196762,
"lockStats" : {
"timeLockedMicros" : {
"r" : NumberLong(825186242),
"w" : NumberLong(0)
},
"timeAcquiringMicros" : {
"r" : NumberLong(1514482551),
"w" : NumberLong(0)
}
}
}
]
}