MongoDB local.oplog.rs查询运行很长时间

时间:2016-10-10 20:43:30

标签: mongodb

我有2个节点集群(8个vCPU,52 GB)用于mongodb(3.2.0)。我正在调试几秒钟的查询,我运行db.currentOp()以查看正在运行的查询以及他们花了多少时间,我发现了一个关于local.oplog.rs运行的查询超过 4000秒,以下是有问题的查询

         {
            "desc" : "WT RecordStoreThread: local.oplog.rs",
            "threadId" : "139625785952000",
            "active" : true,
            "opid" : "rs0:145981225",
            "secs_running" : 4168,
            "microsecs_running" : NumberLong("4168129663"),
            "op" : "none",
            "ns" : "local.oplog.rs",
            "query" : {

            },
            "numYields" : 0,
            "locks" : {

            },
            "waitingForLock" : false,
            "lockStats" : {
                "Global" : {
                    "acquireCount" : {
                        "r" : NumberLong(1),
                        "w" : NumberLong(1)
                    }
                },
                "Database" : {
                    "acquireCount" : {
                        "w" : NumberLong(1)
                    }
                },
                "oplog" : {
                    "acquireCount" : {
                        "w" : NumberLong(1)
                    }
                }
            }
        },

请问有什么可说明的吗?这个查询在做什么,我应该关注吗?

1 个答案:

答案 0 :(得分:2)

这些是与复制相关的线程。它们是 正常 操作的一部分。

  • WT RecordStoreThread: local.oplog.rs
  • rsSync
  • rsBackgroundSync
  • ReplBatcher

实际上存在一个有关在默认情况下显示这些结果时会默认隐藏这些错误的公开错误:https://jira.mongodb.org/browse/SERVER-28257

来自错误报告:

  

当前db.currentOp()默认显示与复制相关的线程   例如:

     

"WT RecordStoreThread: local.oplog.rs"

     

"rsSync"

     

"rsBackgroundSync"

     

"ReplBatcher"

     

这些操作通常运行时间长,用户可能会记错   感觉存在性能问题。