Диагностика регулярного периодического высокого потребления памяти

Используя стандартные инструменты мониторинга системы от облачного провайдера, мы получаем оповещения примерно в одно и то же время каждый день, поскольку использование памяти превышало 80% в течение более 10 минут непрерывно. Это состояние продолжается, возможно, от 30 до 60 минут или дольше (продолжительность, похоже, варьируется от дня к дню), начинаясь примерно в одно и то же время.

  • Кто-нибудь сталкивался с чем-то подобным и может подсказать, с чего начать поиск? Или, alternatively …
  • Есть ли простой способ просмотреть запланированные задачи в стеке приложения, которые могут выполняться по этому шаблону и быть причиной проблемы?

Резервные копии? Особенно если у вас много загрузок. Вы можете посмотреть в /sidekiq.

Нет, бэкапы тоже были моей первой идеей. Бэкапы (как самого Discourse, так и со стороны облачного провайдера) выполняются только раз в неделю. (Наверное, мне стоит это изменить, но не пока я не выслежу этого призрака!) :thinking:

Поэтому я заглянул на https://discourse.example.org/sidekiq/scheduler, и там, кажется, все задачи работают по периодическому расписанию, а не в определённое время суток. Кто-нибудь знает, так ли это? Если да, то от чего зависит этот период — от времени запуска контейнера приложения?

Это почти наверняка будет один большой или несколько больших запросов. На ум приходят пересчет дашборда и пересчет топов — два возможных «пожирателя» ресурсов.

80% — это не так уж плохо: значит, вы не перегружаете систему (и не начинаете использовать swap), но при этом утилизация эффективна, и вы хорошо используете своё (виртуальное) оборудование?