Назад | Перейти на главную страницу

Что касается MongoDB, может ли кто-нибудь поделиться опытом использования безопасной записи или очень короткой задержки синхронизации и как это повлияло на производительность?

Я создаю сервер аналитики в реальном времени * (задержка 5 секунд). Во время нагрузочного тестирования с ~ 600 одновременными подключениями я заметил серьезные расхождения между количеством известных тестовых документов и количеством зарегистрированных документов. То есть, я знаю, что должно было быть 600 «текущих активных» записей, но mongo в find () сообщает гораздо меньше.

Похоже, это вызвано природой mongo «записал и забыл» и тем, что по умолчанию syncdelay установлено на 60 секунд. Это верно?

Я считаю, что могу решить проблему либо с помощью безопасной записи, либо с помощью задержки синхронизации в 5 секунд. Любой из них наверняка снизит производительность, но мне любопытно, как каждый из них может повлиять на производительность.

Я не пытаюсь усложнять задачу, но, как и ваш предыдущий вопрос о загрузке системы, в этой ситуации нет «лучшего». Это полностью, полностью, полностью, на 100% зависит от вашего приложения.

Если небольшая задержка синхронизации не скажется отрицательно на вашем приложении и его пользователях, тогда все будет нормально. Однако если задержка вызовет проблемы, вам нужно попробовать одно из предложенных вами решений. Мы не знаем, что это за приложение, на каком оборудовании оно работает и как на него повлияет снижение производительности. Только вы можете сказать это, протестировав свое приложение.