Задать вопрос

Почему только одна из нод mongo replicaset работает быстро?

Доброго дня!

Что имеется: несколько ДЦ в разных городах (вернее, странах) с пингом между собой ~100 мс. MongoDB на них, с поднятой ReplicaSet. На каждой из нод развернуто приложение с настройками setReadPref("nearest", {"dc":<тэг ближайшего ДЦ>}). В репликасете есть арбитр.

Суть проблемы: запросы на одну из нод (ближайшую ко мне, географически) происходят быстро (запрос по типу find({_id: ...}), на все остальные — медленно.
Средняя скорость выполнения — порядка 500 мс для коллекции 150 кб.
На «быстрой» ноде запрос выполняется за 0.01 мс.
Если на «медленной» ноде ограничивать элементы коллекции, например, запрашивать только одно поле с integer - запрос обрабатывается быстро.
В профайлере millis = 0, локи на r/w не более, чем 500 micros.
  • Вопрос задан
  • 2368 просмотров
Подписаться 3 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
На установленном уже соединении долго обрабатываются запросы?
Или же до установки соединения.
С пингом в 100мс до отправки запроса на сервер уйдет 200-300мс.
Посмотрите в логи перегрузки данных через ReplicaSet по нодам, и вы увидите реальное запаздываение, которые будет больше чем 100мс.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы