мы рассматриваем возможность миграции с текущего программного обеспечения для форумов на собственную установку Discourse, и меня интересует некоторый эмпирический опыт, касающийся возможных требований к ресурсам.
Наш форум работает уже около 20 лет, в нём содержится 560 000 сообщений в 37 000 тем. Новые сообщения создаются со скоростью примерно 200 в день. У нас 8 500 зарегистрированных пользователей, из которых 1 000 были активны в прошлом году. Система обрабатывает около 1 000 анонимных и до 200 авторизованных одновременных сессий.
Я ищу отчёты людей, у которых установлены системы сопоставимого размера. Используете ли вы стандартный метод установки (объёмный образ Docker) или вам пришлось настраивать систему для работы с такой нагрузкой? Сколько процессорного времени и оперативной памяти вы выделяете для вашей системы? Есть ли ещё что-то, что мне стоит знать?
Я бы начал с двухконтейнерной конфигурации: ресурсы на S3, перед сайтом и бакетом S3 — CDN. Начал бы с 8 или 16 ГБ оперативной памяти, возможно, в зависимости от того, что вы используете сейчас.
Сколько просмотров страниц вы получаете в день и/или месяц?
Если этого недостаточно, можно добавить балансировщик нагрузки и больше серверов, запускающих веб-контейнер.
Сколько процессорного времени и оперативной памяти вы используете сейчас? Какая платформа?
Под «конфигурацией из двух контейнеров» вы имеете в виду то, что описано в этом руководстве, а размещение активов на S3 — в этом посте? Для моего понимания: если мы будем использовать, скажем, CloudFront в качестве CDN и укажем его на S3 для загрузки файлов, станут ли все загруженные файлы общедоступными или существует механизм, позволяющий ограничить доступ к загрузкам на основе прав в Discourse?
Наш текущий сайт получает около 200 тысяч просмотров страниц примерно от 30 тысяч уникальных пользователей в день, плюс ещё 200 тысяч трафика от ботов и парсеров.
Мы запускаем Woltlab на виртуальной машине с 8 ядрами и 32 ГБ оперативной памяти, но, полагаю, здесь имеет место некоторый избыточный запас ресурсов. В настоящее время установка работает на физическом сервере, но мне не очень нравится оставлять всё в таком виде.
Кажется, у меня есть сайт с похожим трафиком на droplet с 8 ГБ, который, насколько я помню, обслуживал около 1 млн просмотров страниц в месяц.
Да, но в утилите discourse-setup есть переключатель, который делает это при установке. (Кажется, это --two-container, но я в основном смотрю на скрипт, если запускаю его вручную).
Это удобно, потому что можно собрать новый контейнер, пока работает старый. Нужно только внимательно следить за тем, когда именно требуется обновить/пересобрать контейнер с данными.