У нас есть три сервера в наборе реплик.Например, ServerA является первичным, а ServerB и ServerC - вторичными.Во время стресс-тестирования среды нагрузка на сервер ServerA выросла до 4,00, а вторичные серверы остаются на уровне 0,00.Целевые URL-адреса стресс-тестирования не делают никаких записей в Монго, но, похоже, что чтения не распространяются среди вторичных серверов.
Мы используем официальный драйвер C #.
Журнал ServerAпоказывает много открытых соединений, набор записей lsn и кучу команд killcursors - очевидно, он работает для обслуживания страниц.Однако ServerB и ServerC показывают только начальные соединения с веб-серверов (четыре из них), и после этого в журналах появляются только записи «lsn set».Через несколько минут начальное время ожидания четырех соединений завершается.
Набор реплик находится в полном рабочем состоянии.Я могу остановить монго на первичном, а вторичные правильно выберут новый первичный.
Наша строка подключения из Web.config:
<connectionStrings>
<add name="wellness.mongodb" connectionString="mongodb://serverA:27017,serverB:27017,serverC:27017/mydatabase?safe=true;replicaset=myreplicaset;slaveok=true" />
</connectionStrings>
Что мы делаем не так?