MongoDB不会在副本集中分发读取

时间:2011-05-04 17:48:32

标签: mongodb

我们在副本集中有三台服务器。例如,ServerA是主要的,而ServerB和ServerC是次要的。在对环境进行压力测试的同时,ServerA上的服务器负载飙升至4.00左右,而辅助服务器的负载仍为0.00。压力测试的URL目标不会对mongo进行任何写入,但看起来读取不会分发给辅助节点。

我们正在使用官方C#驱动程序。

ServerA日志显示正在打开的许多连接,lsn设置条目和一堆“killcursors”命令 - 显然它正在为页面提供服务。但是,ServerB和ServerC仅显示来自Web服务器(其中四个)的初始连接,之后只有“lsn set”条目出现在日志中。几分钟后,最初的四个连接超时并关闭。

副本集处于完整工作状态。我可以在主要部分停止mongo,而辅助部分将正确选择新的主要部分。

我们来自Web.config的连接字符串:

<connectionStrings>
    <add name="wellness.mongodb" connectionString="mongodb://serverA:27017,serverB:27017,serverC:27017/mydatabase?safe=true;replicaset=myreplicaset;slaveok=true" />
</connectionStrings>

我们做错了什么?

1 个答案:

答案 0 :(得分:1)

连接字符串看起来没问题。我会尝试重现并报告。