Общий вопрос о производительности набора реплик mongodb - PullRequest
0 голосов
/ 17 января 2020

Я установил реплику mongodb на двух 100% идентичных серверах (Аппаратное и программное обеспечение).

У меня работает веб-мастер с записями в mongodb. Теперь я вижу, что производительность в отдельном экземпляре была лучше.

В качестве автономного mongodb процесс очистки длился 2,5 часа с максимальными 150 операциями. В качестве набора реплик процесс очистки выполняется 6 часов с макс. 100 операциями.

Это обычное поведение набора реплик?

См. Снимки экрана с моей графической панели.

как автономный: enter image description here

как набор реплик: enter image description here

1 Ответ

0 голосов
/ 18 января 2020

Да, это ожидаемое поведение от официальных документов

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

Это означает, что добавленные узлы просто создают издержки, если говорить строго о производительности, так как Mon go должен синхронизировать c их с основной.

Это ожидается, так как основное использование репликации предназначено для восстановления после сбоя.

Если у вас массовая утилизация и вы хотите повысить производительность и не заботитесь о непредвиденных ошибках, вы можете изменить writeConcernMajorityJournalDefault Конфигурация реплики в false.

Если для writeConcernMajorityJournalDefault установлено значение false, MongoDB не ожидает записи w: "большинства" перед записью в журнал на диске до признавая записи. Таким образом, большинство операций записи может откатиться в случае временной потери (например, cra sh и перезапуска) большинства узлов в данном наборе реплик.

...