对于空集合,MongoDB更新速度很慢

时间:2018-01-24 11:04:38

标签: java mongodb

我有一个Java Spring应用程序,它定期(每10秒)对我的数据库执行更新,这是一个3节点副本集。

更新的性能在不同呼叫之间有很大差异。令人惊讶的是,当集合为空时,我在日志中注意到以下内容:

2018-01-23T11:02:37.941+0000 I COMMAND  [conn18] command myCollection.$cmd command: update { update: "myCollection", ordered: true, writeConcern: { w: "majority" }, updates: [ { q: { lockExpiry: { $lte: 1516705340965 } }, u: { $set: { isLocked: false } }, multi: true } ] } keyUpdates:0 writeConflicts:0 numYields:0 reslen:115 locks:{ Global: { acquireCount: { r: 1, w: 1 } }, Database: { acquireCount: { w: 1 } }, Collection: { acquireCount: { w: 1 } } } protocol:op_query 10555ms

为什么这样的查询可能需要这么久?我使用带有WiredTiger存储引擎的MongoDB 3.2,该集合没有索引。

1 个答案:

答案 0 :(得分:1)

您正在针对副本集运行,并且您已获得writeConcern"多数"指定。延迟可能是由节点之间的延迟造成的吗?