Всем привет! Мы пытаемся разобраться с проблемами, с которыми сталкивается наша установка Discourse в последние несколько дней.
Мы используем облачный VPS от Contabo с конфигурацией 8 ядер / 32 ГБ ОЗУ / NVMe для базы пользователей из ~150 человек; за последние два с половиной года у нас было немного проблем.
Со прошлых выходных инстанс периодически становится практически неработоспособным из-за аномально высокой загрузки процессора.
Чтобы разобраться в ситуации, мы перевели форум в режим «только для чтения» вчера. У меня есть несколько графиков в Grafana, показывающих текущее состояние: три маркера обозначают моменты, когда мы включили режим «только для чтения», перезапустили контейнер и выключили этот режим.
(ещё несколько графиков здесь: Imgur: The magic of the Internet)
Как видите, загрузка довольно высока. Это началось несколько дней назад, значит, у нас есть какая-то проблема, которую мы ещё не смогли должным образом диагностировать.
Мы заметили необычную вещь: наш хост перезагружает VPS ночью в воскресенье, и на прошлых выходных базе данных не удалось завершить одну или несколько транзакций.
Мы предполагаем, что это могло привести к несогласованности в каком-то внутреннем процессе Discourse, и эта несогласованность конфликтует с активностью пользователей, но это лишь гипотеза.
После обращения к ИИ-ассистенту перед созданием новой темы могу добавить, что в Sidekiq есть несколько аномальных процессов:
- Jobs::ProcessBadgeBacklog занимает около 2–5 секунд.
- Последнее выполнение DestroyOldDeletionStubs заняло 475 секунд.
- Последнее выполнение DirectoryRefreshDaily заняло 580 секунд.
- Последнее выполнение TopRefreshToday заняло 18 секунд.
Итак, вопрос: что может вызывать такую ситуацию при нашей базе пользователей и используемом оборудовании?
Есть ли что-то более конкретное, на что нам стоит обратить внимание?
Я думаю, что размер нашей базы пользователей не должен приводить к аварийным ситуациям, но я не привязан к нашим текущим предположениям и будем очень признательны за советы, что ещё можно проверить.
Спасибо!


