Мы обновили наш сервер на CentOS 7 с версии 2.2.2 до 2.7.0.beta4, и с тех пор столкнулись с задержками при загрузке страниц. Особенно это заметно на страницах, содержащих данные из базы данных или изображения. Задержки достигли такого уровня, что система стала практически неработоспособной.
Будем очень признательны за любые рекомендации по этому вопросу.
За последние несколько лет произошло множество изменений. Было внесено изменение, требующее обработки всех изображений. Я подозреваю, что ваш сервер перегружен выполнением этой работы. Вы можете проверить очередь в /sidekiq.
Какого размера ваша база данных? Сколько изображений? Что показывает sidekiq? Вы используете SSD, верно?
Это сервер на базе виртуальной машины, поэтому я не уверен, используется ли там SSD. Я не вижу доступного Sidekiq, так как это развертывание выполнял не я, и не знаю, как получить к нему доступ.
Ваш лучший путь вперед — выяснить, почему упала производительность. За годы было добавлено много фоновых задач (оптимизация изображений, повторная обработка и т. д.), которые, вероятно, сейчас выполняются и потребляют ресурсы вашего сервера. После их завершения производительность должна улучшиться.
Отличный первый шаг — зайти в /sidekiq (используя учетную запись администратора!), чтобы узнать, какие задачи выполняются.
Так, я смог получить доступ к Sidekiq. Ребята, помогите, пожалуйста, разобраться в этом и подскажите, какие можно внести оптимизации? Из-за этих проблем с производительностью я оказался в довольно сложной ситуации.
Я наблюдаю следующую проблему с сервером: он продолжает показывать пустую очередь, даже когда я пытаюсь открыть пост, чтобы увидеть его в списке. Кроме того, портал Sidekiq зависает при загрузке поста и обновляется только после того, как пост полностью загрузится.
Кроме того, после загрузки снова отображается пустая очередь. Любая помощь или предложения будут очень кстати.
У нас примерно 4 тысячи постов и около 350 пользователей.
Среднее количество одновременно вошедших пользователей невелико — максимум 5–10 человек.
Этот сервер был недавно запущен, у него 8 ГБ оперативной памяти и 10 ГБ пространства подкачки. На данный момент он работает уже 13 дней. Однако проблемы с производительностью возникают независимо от перезагрузки и времени безотказной работы.
Не помню, предлагалось ли вам перезапустить discourse-setup, чтобы настроить использование памяти Discourse, или эти значения по умолчанию приемлемы с учётом других процессов, работающих на сервере.
Если вы не выполняли переиндексацию базы данных после обновления до PostgreSQL 13, возможно, стоит ознакомиться с обновлением PostgreSQL 13, где есть информация по этому вопросу.
Что ж, это всё очень странно. У других таких проблем не было. Похоже, у вас достаточно аппаратных ресурсов. Моё единственное предположение — проблема с обратным прокси (наверное, на машине запущены и другие службы?).
Да, ещё один сервис на базе Docker. Но он совсем не требует больших вычислительных ресурсов, иначе это отразилось бы на показателях производительности машины.