我有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)
}
}
}
},
请问有什么可说明的吗?这个查询在做什么,我应该关注吗?
答案 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"
这些操作通常运行时间长,用户可能会记错 感觉存在性能问题。