1

我正在运行 MongoDB 2.4.5,最近我开始深入研究 Replica Set 以获得某种冗余。

我使用--replSet参数启动了同一个 mongo 实例,还添加了一个仲裁器来运行副本集。发生的事情是写入 mongo 的速度显着减慢(从 15 毫秒到 30-60 毫秒,有时甚至在 300 毫秒左右)。一旦我以非复制模式重新启动它,性能就会恢复正常。

我还设置了最新的 MongoDB 3.0 版本,没有数据并运行与以前相同的测试器,结果非常相似——运行 ReplicaSet 模式时写入速度至少慢了 50%。

我在网上找不到很多这种行为的例子,所以我猜我的 mongo 配置或操作系统配置有问题。

有任何想法吗?感谢帮助。

4

2 回答 2

2

听起来您正在使用“已确认副本”写入问题,这意味着在将数据写入主副本和副本之前,该操作不会返回。可以在执行任何写入操作时设置写入问题(从2.6 开始- 从 2.4 文档中可以看出,调用 getLastError 会导致 2.4 中确认的副本的写入问题,您是否在测试代码中这样做?)。

阅读MongoDB 文档的本节 (v3))本节 (v2.4)以了解不同写入问题的含义,并尝试将其显式设置为 Acknowledged。

于 2015-05-21T09:44:59.943 回答
0

好的,问题出在 C# 库上。我使用了本机 C# 驱动程序(即使使用 2.4.5 MongoDB 也能正常工作),性能似乎没有差异。感谢帮助。

于 2015-05-26T08:02:17.540 回答