[英]Mongodb write performance/load primary vs secondary
在复制的Mongodb环境中,辅助服务器上的写入性能/负载是否与主服务器相同? 如果可以,为什么?
编辑:通过写入辅助服务器,我指的是从主服务器到辅助服务器的写入自动传播。
Edit2:为了帮助指导对话, http ://docs.mongodb.org/manual/core/replica-set-sync/#multithreaded-replication可能表明从主节点到辅助节点的写入性能可能会更好,因为它们是在batch
。
如果load
意味着您仅在隔离或非高峰系统中进行writes
,那么它一定是无趣的并且具有类似的performance/write
。 几乎谁在乎。 但是,在同时进行读写操作的工作系统中,则不会。 因为如果您使用“次要”或“次要优先级”的“读取首选项 ”(哎呀,除了“主要”以外的任何内容),就可以改变performance/readwrite
。 在这种情况下,一个具有11个辅助副本和1个主要副本的副本集可以清楚地看到,任何单个辅助副本都具有cpu /内存/磁盘/等竞争的一部分,而不仅仅是磁盘争用。 回想一下,默认模式在主数据库上是残酷的。 这里,次要对象仅用于冗余与高可用性。
主默认模式。 所有操作均从当前副本集主数据库读取。
可以想到一种RAID系统,其中镜像可以增加冗余,而条带化可以提高性能。 (的确,机制不完全相同,但从用户的角度来看,在读取方面有相似的结果。分片更接近带条带化的RAID。)使用默认的“ primary”读取优先级只能拍入镜像。 使用“次要”的读取首选项,您可以利用更大的吞吐量。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.