Сколько оперативной памяти требуется для Discourse?

Привет,

Недавно я установил Discourse на свой собственный VPS. У меня всего 2 ГБ оперативной памяти. Достаточно ли этого для работы форума в продакшене? Бывали случаи, когда я получал ошибку 502 gateway, возможно, из-за нехватки памяти. Иногда после установки плагина мне приходится несколько раз обновлять админ-панель.

В других темах пишут, что 1 ГБ памяти достаточно, но что реально? Я использую последний Docker-образ от Bitnami. Некоторые утверждают, что Sidekiq может потреблять до 4 ГБ памяти: https://github.com/bitnami/bitnami-docker-discourse/issues/150

Вы можете легко запустить Discourse на VPS с 2 ГБ оперативной памяти. Возможно, стоит настроить файл подкачки, если он у вас еще не настроен. Выполнение команды ./discourse-setup сделает это за вас.

Я изначально настроил своп, но использование своп-памяти сильно замедляет работу, поэтому по умолчанию я не хотел этого делать.

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

Если вы размещаете крупное сообщество и начинаете замечать замедление отклика API Discourse, вы можете увеличить ресурсы CPU/RAM вашего сервера и снова запустить ./discourse-setup, чтобы он начал использовать увеличенные ресурсы.

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

Я не импортировал ни одной базы данных. Это новый форум с нулём постов. На данный момент единственный посетитель — это я. Однако я ожидаю трафик до 1000 пользователей в день.

Ох. Не делайте так. Или спросите их, почему у вас такая низкая производительность.

Смотрите: Официальная стандартная установка Discourse

Любопытно, почему вы выступаете против использования образа Bitnami? (Скорее всего, @AntiMetaman имеет в виду их новые Helm-чарты здесь.

Кроме того, у них появился новый Helm-чарт здесь.

Мы, команда, разрабатывающая Discourse, тестируем его только на нашем собственном базовом образе. Установка, не соответствующая требованиям Install Discourse in production with the official supported instructions, может в любой момент незаметно сломаться, и мы не будем предоставлять поддержку для таких случаев.

Просто к сведению и с другим взглядом на ситуацию, @AntiMetaman

Хотя Discourse может работать на VPS с минимальным объемом оперативной памяти, сборка и повторная сборка Discourse будут довольно медленными по сравнению со сборкой на машине с большим объемом RAM. Лично я не стал бы запускать «настоящее» продакшн-приложение Discourse на 2 ГБ оперативной памяти, но это лишь мое мнение.

Кстати (это исключительно мое личное мнение), я устанавливал Discourse на машины с 1 ГБ, 2 ГБ, 8 ГБ, 32 ГБ и 64 ГБ оперативной памяти, как на VPS, так и на выделенные серверы. Честно говоря, мне нравится собирать Discourse на машинах с 64 ГБ и 32 ГБ памяти. Сборка на 64 ГБ происходит невероятно быстро :). Пересборка молниеносна, а работа системы такая плавная, что просто масло на горячем тосте. Поэтому я предпочитаю запускать Discourse на «более мощных» машинах (с большим объемом RAM и дискового пространства) вместе с другими приложениями, чем в режиме standalone на очень маленьких ресурсах с минимальным объемом оперативной памяти.

Однако это основано на моем личном опыте работы с Discourse и Docker, а также на моих предпочтениях. Мне нравится, когда Discourse пересобирается быстро и имеет достаточный запас производительности в продакшене, а 2 ГБ не соответствуют моим требованиям к скорости сборки.

Discourse рекомендует минимум 1 ГБ, и я устанавливал систему с таким объемом памяти, но она быстро начинает работать медленно, поэтому я бы выбрал 2 ГБ.

Эти первые 2 ГБ служат очень долго. В настоящее время я управляю сообществом с примерно 3500 посещений в день без учёта поисковых роботов и около 20–30 постов в день. Я не сталкивался с проблемами из-за 2 ГБ оперативной памяти и не замечал никаких замедлений.

Я почти уверен, что @AntiMetaman, ваша проблема связана с образом Bitnami, а не с ресурсами. Убедитесь, что ваш процессор достаточно быстрый, и, если возможно, выделите ему второе ядро (я использую только одно виртуальное ядро, и этого хватает).

Образ Bitnami всё ещё использует стабильную версию 2.4.4. Единственная причина, по которой я выбрал Bitnami, заключалась в том, что у него был стандартный файл docker-compose.yml, что упрощало процесс установки. Некоторые пользователи, пытавшиеся обновиться до версии 2.6.0 beta 1 с использованием официального образа Discourse, столкнулись с ошибками. Я попробую использовать официальный образ Discourse и посмотрю, как всё получится.

Хорошая идея, но сторонние пакеты, такие как установка от Bitnami, здесь не получают никакой поддержки.

Как вы уже отметили, они также довольно устарели.

Привет, @Falco — вы имеете в виду запуск этой команды в консоли или достаточно ли запустить мастер настройки через www.mysite.com/wizard?

На самом деле это две разные вещи. :slight_smile:

/wizard предназначен для настроек интерфейса и администратора, чтобы настроить ваш сайт после установки, и доступен через ваш сайт/браузер.

discourse-setup является частью самого процесса установки, который (частично) выделяет ресурсы сервера, и запускается с сервера.

Вы можете многократно запускать discourse-setup, и это не перезапишет никакие данные вашего сайта.

Спасибо за уточнение, @JammyDodger, очень ценю.

Мой сайт начал сильно тормозить, поэтому я добавил больше оперативной памяти на сервер. Теперь всё работает намного лучше с выделением 2048 МБ общих буферов вместо 128 МБ.

Ранее я редактировал файл app.yml вручную и загружал его через SFTP. Сейчас, при пересборке приложения, я заметил предупреждение о правах доступа. Какие права доступа должны быть установлены для файла app.yml?

644 или 600. Я считаю, что сообщение, о котором вы говорите, указывает, каким оно должно быть.

Спасибо @pfaffman!