Mongodb写性能/加载主要与次要

Mongodb写性能/加载主要与次要,mongodb,Mongodb,在复制Mongodb环境中,辅助设备上的写入性能/负载是否与主设备相同?如果是,或者不是,原因是什么 编辑:通过写入到次映像,我指的是写入从主映像到次映像的自动传播 Edit2:为了帮助指导对话,可能会建议从初级到次级的写操作性能可能更好,因为它们是在批处理中执行的。如果加载指的是在孤立或非高峰系统中只执行写操作,那么这一定是一个无趣的类似操作性能/写入。几乎谁在乎。然而,在一个工作系统中,如果您同时进行读写操作,那么就没有了。因为如果您使用了“secondary”或“secondary pre

在复制Mongodb环境中,辅助设备上的写入性能/负载是否与主设备相同?如果是,或者不是,原因是什么

编辑:通过写入到次映像,我指的是写入从主映像到次映像的自动传播


Edit2:为了帮助指导对话,可能会建议从初级到次级的写操作性能可能更好,因为它们是在批处理中执行的。如果
加载
指的是在孤立或非高峰系统中只执行
写操作,那么这一定是一个无趣的类似操作
性能/写入
。几乎谁在乎。然而,在一个工作系统中,如果您同时进行读写操作,那么就没有了。因为如果您使用了“secondary”或“secondary preferred”(见鬼,除了“primary”之外的任何东西),您可以改变
性能/readwrite
。在这种情况下,一个包含11个辅助设备和1个主设备的副本集可以清楚地看到,任何一个辅助设备的cpu/memory/disk/etc竞争都只占单一主设备的一小部分,而不仅仅是磁盘竞争。回想一下,默认模式在主服务器上是残酷的。在这里,辅助设备仅用于冗余和高可用性

主要默认模式。从当前复制集读取的所有操作 小学


可以想象一个RAID系统,镜像可以增加冗余,而条带化可以提高性能。(没错,不完全相同的机制,但从用户的pov来看,其在读取方面的结果类似。分片更接近于带条带的RAID)使用默认读取首选项“primary”只点击镜像;使用“secondary”的读取首选项可以获得更大的吞吐量。

您不能在secondary节点上写入,只能在primary上写入是的,但是writes get propagatedDisk争用实际上不是正确的术语。由于所有这些操作都发生在内存映射文件中(使用mmapv1存储引擎),因此可能根本没有磁盘争用。更合适的术语是“资源争用”,因为根据各种因素(例如:工作集大小、可用内存、正在执行的每个操作的大小、索引、正在执行的操作类型等),在几个地方可能会发生争用。