MongoDB не распределяет операции чтения в наборе реплик - PullRequest
0 голосов
/ 04 мая 2011

У нас есть три сервера в наборе реплик.Например, 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>

Что мы делаем не так?

1 Ответ

1 голос
/ 04 мая 2011

Строка подключения выглядит нормально.Я постараюсь воспроизвести и доложить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...