使用副本集时mongodb操作非常慢

使用副本集时mongodb操作非常慢,mongodb,pymongo,replicaset,Mongodb,Pymongo,Replicaset,我正在运行MongoDB 2.4.5,最近我开始挖掘副本集以获得某种冗余 我使用-replSet参数启动了同一个mongo实例,还向运行副本集添加了一个仲裁器。发生的情况是,向mongo的写入速度明显减慢,从15毫秒降至30-60毫秒,有时甚至在300毫秒左右。在非复制模式下重新启动后,性能恢复正常。您需要解释拓扑结构,主要是节点的地理分布。但作为一般情况,此处使用的是关键要素。一般来说,默认情况是请求集合中所有成员的确认,而不仅仅是主成员。所以这通常会增加时间,除非您想更改它。我在副本集中使用

我正在运行MongoDB 2.4.5,最近我开始挖掘副本集以获得某种冗余


我使用-replSet参数启动了同一个mongo实例,还向运行副本集添加了一个仲裁器。发生的情况是,向mongo的写入速度明显减慢,从15毫秒降至30-60毫秒,有时甚至在300毫秒左右。在非复制模式下重新启动后,性能恢复正常。

您需要解释拓扑结构,主要是节点的地理分布。但作为一般情况,此处使用的是关键要素。一般来说,默认情况是请求集合中所有成员的确认,而不仅仅是主成员。所以这通常会增加时间,除非您想更改它。我在副本集中使用一个主副本和两个辅助副本,并尝试使用w=0和w=3的写关注点。但插入和获取记录的速度太慢。写作关注的价值是什么,我使用pymongo作为客户,在基本力学中似乎存在误解。不可能使用w=0和w=3,除非您实际上谈论的是在单独的write语句上独立地使用这两种语言。WriteConcern是一个单数值,可以是全局值,也可以是每个语句单独设置的值,并且不能在节点之间进行选择。另外,考虑到你提到的是一个次要的,然后是一个仲裁人,w=3似乎真的错了。仲裁员仅用于投票,既不存储数据也不能成为主要仲裁员。因此,该配置中的w=3将等待不可能的确认。