有关mongodb副本集性能的一般问题

问题描述 投票:0回答:1

我已经在两个100%相同的服务器(硬件和软件)上设置了mongodb副本集。

我正在运行写有mongodb的webcraper。现在,我可以看到作为独立实例的性能更好。

作为独立的mongodb,抓取过程运行了2.5小时,最多运行150次。作为副本集,抓取过程将运行6个小时,最多进行100次操作。

这是副本集的通常行为吗?

查看我的grafana仪表板的屏幕截图。

单独使用:enter image description here

作为副本集:enter image description here

mongodb performance replicaset
1个回答
0
投票

是,这是预期的行为,来自官方docs

主节点接收所有写操作。副本集只能具有一个能够确认写入的主副本...

表示添加的节点仅在严格谈论性能时会增加开销,因为Mongo必须将其与主节点同步。

这是预期的,因为复制的主要用途是故障转移。

如果您报废并且希望提高性能并且不关心意外错误,则可以将writeConcernMajorityJournalDefault副本配置更改为false

[writeConcernMajorityJournalDefault设置为false时,MongoDB不会等待w:在确认写入之前,将“多数”写入写入磁盘日志。因此,如果给定副本集中的大多数节点发生瞬时丢失(例如崩溃和重新启动),多数写入操作可能会回滚。

© www.soinside.com 2019 - 2024. All rights reserved.