Пользователей выкидывает из темы, нужно больше памяти?

Сегодня на моем форуме произошел первый резкий скачок трафика, и пользователи столкнулись с первой крупной проблемой. Каждые 5–10 минут они получали сообщения о выходе из системы, их возвращало на главную страницу, но в большинстве случаев они оставались авторизованными.

Мой форум размещен на базовом Droplet от DigitalOcean с общим процессором, 1 ГБ оперативной памяти и работает уже около недели.

Скачок произошел во время матча, когда в одной теме было опубликовано 400 сообщений за 90 минут (по мере развития игры). По всей видимости, в этот период на форуме находились 40–60 авторов, и я не думаю, что было много анонимных посетителей (всего у нас 250 зарегистрированных пользователей).

Это мой первый форум. Можно ли считать это пределом возможностей для Droplet начального уровня?

Загрузка процессора достигала пика в 60%, и во время матча форум оставался быстрым и отзывчивым.

У DigitalOcean нет графика использования памяти, но я зашел в консоль сразу после матча и увидел, что память была использована на 87% (при наличии 2 ГБ своп-памяти — около 37% её использования).

Какие действия вы бы рекомендовали?

  • Обновить до Droplet с 2 ГБ памяти к следующему матчу и посмотреть, как всё будет работать?
  • Переустановить систему, возможно, удалив некоторые плагины?
  • Изменить пороговое значение, которое запускает это событие?

Извините за мою наивность, я всё ещё многому учусь.

Да, я бы сначала попробовал это.

Что касается того, что пользователи «случайно разлогиниваются»… Я никогда об этом не слышал… Вы имеете в виду это уведомление в верхней части темы?

Из-за экстремальной нагрузки это временно отображается для всех так, как это видит разлогиненный пользователь

Поиск также будет автоматически отключён в таких ситуациях с высокой нагрузкой.

Спасибо за быстрый ответ. Я сделаю именно так.

Да, я считаю, что люди наблюдали именно уведомление о экстремальной нагрузке с автоматическим перенаправлением на главную страницу форума.

Подавляющее большинство увидело это уведомление и было просто перенаправлено. Ничего больше.

Несколько человек сказали, что с ними это тоже обычно случалось. Но вдобавок, в одном-двух случаях они также одновременно были разлогинены.

Мне кажется, никакого перенаправления или автоматического выхода из системы нет, так что я не понимаю, о чём они говорят. Вы просто видите тему как анонимный пользователь из-за высокой нагрузки.

Интересно, не связано ли это с проблемами вашей установки. Вы устанавливали по нашему официальному руководству? Есть ли какие-то странные сторонние плагины?

Да, я следовал этим инструкциям.

Вполне возможно, что я что-то сделал неправильно во время установки.

Мне потребовалось несколько попыток, так как это был мой первый раз, и я несколько раз переустанавливал систему, экспериментируя с плагинами.

Установленные мною плагины:

Docker manager
Legal tools
Who’s online
Formatting toolbar

Так что, думаю, вполне стандартные плагины.

Функция «Кто онлайн» может стать особенно значительной нагрузкой на ресурсы.

Считается ли наличие слишком большого количества скинов также значительной нагрузкой на ресурсы?

Просто обновление по теме.

Увеличение оперативной памяти (с 1 ГБ до 2 ГБ) не оказало заметного влияния во время недавнего пика нагрузки. Хотя я никогда не изменял и не пересоздавал файл app.yml, так что не уверен, имело бы это значение?

А вот увеличение количества виртуальных процессоров с 1 до 2, похоже, решило проблему. :+1:

В последнее время у нас было много работы из-за подписания новых игроков, и никто не жаловался на проблемы с выходом из аккаунта. Завтра большой тест — ожидается масштабное событие, но пока всё выглядит хорошо.

Вам нужно обновить файл app.yml и пересобрать приложение, чтобы получить реальную пользу от этих обновлений.

Параметр db_shared_buffers должен составлять 25% от объема оперативной памяти вашей системы, то есть 512 МБ. Вероятно, ваше текущее значение — 256 МБ.

Параметр unicorn_workers должен быть равен двум на ядро процессора, поэтому измените его значение с 2 на 4.

Я сделаю это сегодня. Спасибо!

Как прошёл тест вчера? Помогли ли обновления?

Гораздо лучше, спасибо :slightly_smiling_face:.

В отличие от прошлого раза, когда это было постоянным раздражителем (возникало каждые 4–5 минут) во время игры в выходные, на этот раз это не казалось серьезной проблемой.

Похоже, что лишь небольшое количество пользователей получало сообщение о высокой нагрузке всего один раз во время игры. Но никто не был исключен из обсуждения.

Переход на Discourse стал огромным успехом: появилось множество постов от людей, которых не видели годами (как минимум на 50% больше пользователей). Поэтому через две недели я перееду с Digital Ocean на Hetzner, чтобы сохранить доступную стоимость и одновременно получить более мощный сервер для обработки всплесков нагрузки (хотя искушение просто масштабировать сервер вверх и вниз на те два часа в неделю тоже велико).