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

Почему MongoDB работает медленно?

Есть такая проблема, пришел на новый проект а тут простой запрос чтобы достать 1500 записей из базы идет 3.2 секунды(суто поиск без передачи). Не могу найти причину. На старых проектах работало намного быстрее. Подскажите в чем может быть причина.
  • Вопрос задан
  • 1117 просмотров
Подписаться 1 Оценить 5 комментариев
Решения вопроса 1
@Faliah
В тэгах вижу mongoose. Пара советов по работе с ним: попробуйте поиграться с ограничением полей через find().select(/* объект с полями */). По умолчанию mongoose возвращает коллекцию своих обёрток над JS-объектами, которые довольно тяжелые. Получить POJO можно с помощью find().lean(). Чтобы не ждать, пока вам вернётся вся коллекция из 1500 записей, можно воспользоваться курсорами со стримами и работать с данными пачками.

Но тут действительно сложно сказать в чём проблема - железо действительно не плохое, но проблема скорее всего в IO цикле, как это обычно и бывает, в зависимости от количества узлов между клиентом, сервером и сервером БД. Может у вас прокси перед сервером стоит и не тянет под нагрузкой, может сервер перегружен запросами и вы ждёте в очереди, может к БД много коннектов и вы, опять же, ждёте.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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