Реплика mongodb устанавливает блокировку чтения - PullRequest
0 голосов
/ 30 января 2012

У нас есть набор реплик Монго с тремя узлами в трех центрах обработки данных.Два из них с данными, а другой является арбитром

Мы выполняем стрессовые записи в первичном файле с почти 100% блокировкой, поэтому мы выполняем чтение в узле реплики (вторичном).Наша проблема заключается в том, что чтение во вторичной части слишком медленное из-за этих записей.

Мы что-то упускаем?

1 Ответ

1 голос
/ 30 января 2012

Мы делаем стрессовые записи на первичном сервере с почти 100% блокировкой, поэтому мы выполняем чтение на узле реплики (вторичном). Наша проблема заключается в том, что из-за этих операций чтения во вторичной системе чтения происходят слишком медленно.

Когда вы выполняете запись на первичную запись, эта запись также должна выполняться на вторичной стороне. Таким образом, вторичный выполняет ту же работу, что и первичный.

Таким образом, если у вас есть 100% блокировка на первичном, у вас есть 100% блокировка на вторичном.

Перенос операций чтения на вторичный сервер, вероятно, не поможет, потому что ваш ввод-вывод на первичном сервере, вероятно, полностью заблокирован, поэтому он не может продолжать работу.

Запустите iostat и top и выясните, где находится узкое место. Вероятно, вам понадобится питание, но это может быть просто проблемой индексации.

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