【发布时间】:2013-05-23 12:45:38
【问题描述】:
我有 3 个节点(node2、node4 和 node6)的 replSet。 Node2 具有更高的优先级,因此它是 PRIMARY。
我从本地机器连接到主节点(远离所有节点及其本地网络):
mongo --host node2
我插入大文档 1000 次:
var start = new Date()
for (var i = 0; i < 1000; i++) {
db.test.insert(<big_document>)
}
var end = new Date()
print("inserts took " + (end - start) + " milliseconds")
然后我也这样做,但是这次连接到replSet,不仅仅是单节点:
mongo --host node2,node4,node6
而这次我只插入 10 个文档,因为我没有一整天的时间。
如果连接到单个节点,1000 个文档需要 17 秒。 如果连接到整个 replSet,10 个文档需要 35 秒。
为什么会有这样的差异?当我写入主节点时,它不是也将数据传播到辅助节点吗? (即使我明确地只连接到主要的)
Mongo 2.4.3
更新:
事实证明,节点上的监控已打开,这占用了大部分带宽。关机后一切正常。
仍然不知道为什么写入 PRIMARY 节点比写入 replSet 快很多
【问题讨论】:
标签: mongodb database-performance database-replication