mongodb查找查询getmore操作挂起

时间:2016-03-15 01:46:31

标签: mongodb

我们在Linux上运行MongoDB 3.0.2。

查找查询的“getmore”操作会定期挂起。

操作可用currentOp(),我无法解释的一个项目是lockStats中的所有acquireCount值在查询挂起时继续增长(对于Global,MMAPV1Journal,Database和Collection)。

这是有问题的操作,此时运行超过1000秒,由db.currentOp()返回:

{
    "desc" : "conn60",
    "threadId" : "0x2a99ee0",
    "connectionId" : 60,
    "opid" : 67792,
    "active" : true,
    "secs_running" : 1098,
    "microsecs_running" : NumberLong(1098289543),
    "op" : "getmore",
    "ns" : "dbName.collectionName",
    "query" : {
        "d" : {
            "$gt" : ISODate("2016-03-13T18:00:00.261Z"),
            "$lt" : ISODate("2016-03-14T22:45:17.718Z")
        },
        "cc" : "US",
        "dc" : {
            "$in" : [
                "26",
                "31",
                "17",
                "29",
                "35"
            ]
        },
        "pr" : {
            "$gte" : 4
        }
    },
    "client" : "10.0.0.111:33670",
    "numYields" : 317557,
    "locks" : {

    },
    "waitingForLock" : false,
    "lockStats" : {
        "Global" : {
            "acquireCount" : {
                "r" : NumberLong(635114)
            }
        },
        "MMAPV1Journal" : {
            "acquireCount" : {
                "r" : NumberLong(317557)
            }
        },
        "Database" : {
            "acquireCount" : {
                "r" : NumberLong(317557)
            }
        },
        "Collection" : {
            "acquireCount" : {
                "R" : NumberLong(317557)
            }
        }
    }
}

任何见解都将非常感谢!提前谢谢。

0 个答案:

没有答案