PAJCH
@PAJCH

Как уменьшить нагрузку сервера mongodb?

Привет, блин щас вообще без настроения сижу, помогите братья.

У меня в качестве базы данных есть mongodb.
В некой таблице например messages есть 10.000 записей(документов таблицы).
Я включил setInterval 1 сек, и через каждую секунду у меня идет запрос к базе чтобы вывести 200 сообщений(размер каждого сообщения 2.5кб) из 10.000, и это операция у меня занимает 1.5 сек, НО если я вместо 1 сек поставлю setInterval 10 мс, то время операции будет потихоньку возрастать, почему я вместо 1 сек поставил 10 мс? Это типо тестинг нагрузки. Собственно вопрос: что делать? братья я знаю что вы со мной xD
  • Вопрос задан
  • 434 просмотра
Решения вопроса 1
Было бы полезно показать сам запрос, может дополнительный индекс бы решили проблему.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
Strip-Probl%C3%A8me-dIndex-650-finalengl
Ответ написан
Комментировать
Если скорость добавления новых записей низкая - то можете делать выборку данных из базы, записывать все в некую глобальную/локальную в данной области видимости переменную, и все последующие чтения брать из переменной, вместо запроса к бд.
Когда добавляется новая запись - делать новый запрос к базе, и снова все писать в глобальную переменную.
Этакое кэширование в памяти на коленке.

Или посмотрите попробуйте кэшировать все через редис https://github.com/conancat/mongoose-redis-cache
Ответ написан
@Alex10
Как вариант отключить авторизацию если включена, поможет.
А вообще хорошо привести версию mongodb и параметры железа. Монго любит побольше оперативки.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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