まず現在activeなprocessの一覧をみます。db.currentOp()
関数を使います。
secs_running
が130なので130秒実施中ってことになります、時間かかってますね〜。query
に現在発行中のクエリが出ます。ちなみにあまりにクエリが長すぎるとQuery Too Long的なエラーが出て内容が見れません。planSummary
ってことろに実行計画が出ます。COLLSCAN
はコレクションス全キャンってことでインデックスが効いてません、ここが怪しい。
という感じで見ていきます。
mongos> db.currentOp() { "inprog" : [ { "desc" : "conn4", "threadId" : "0x3981860", "connectionId" : 4, "opid" : "123456", "active" : true, "secs_running" : 130, "microsecs_running" : NumberLong(130787208), "op" : "query", "ns" : "testdb.users", "query" : { "username" : "kamatama41" }, "planSummary" : "COLLSCAN", "client_s" : "xxxxxxxx:xxxx", "numYields" : 33046, "locks" : { "Global" : "r", "MMAPV1Journal" : "r", "Database" : "r", "Collection" : "R" }, "waitingForLock" : false, "lockStats" : { "Global" : { "acquireCount" : { "r" : NumberLong(66094) } }, "MMAPV1Journal" : { "acquireCount" : { "r" : NumberLong(33047) } }, "Database" : { "acquireCount" : { "r" : NumberLong(33047) } }, "Collection" : { "acquireCount" : { "R" : NumberLong(33047) } } } }, { .... } ] }