Я ценю это, но пересборка приложения занимает около 3 часов!
И это на мощном VPS.
Разве не было бы здорово иметь возможность удалять плагины так же, как мы можем добавлять и удалять темы?
Возможно, стоит рассмотреть это как функцию в будущем?
Спасибо!!
Нет, это VPS, выделенный исключительно для этого экземпляра Discourse. Я использую множество других VPS у того же провайдера, и все они работают безупречно (хотя это не экземпляры Discourse, а другие приложения, например, кастомные PHP-скрипты или CMS на базе WordPress/Concrete5 и т.д.).
Я не знаю о каком-либо использовании swap-памяти и не вижу скачков использования ресурсов, которые могли бы это оправдать.
Сейчас статус — building.... — процесс кажется немного быстрее, чем в прошлый раз, однако он всё ещё явно превышает 20 минут.
Я спрошу у провайдера серверов, не видят ли они чего-то необычного на своей стороне, однако помню, что они лично сообщали мне, что их собственный экземпляр Discourse тоже собирался около двух часов. (Примечание: эти VPS размещены на машинах Hetzner, арендованных через посредника; сомневаюсь, что я смогу получить что-то лучшее.)
В любом случае, моё предложение остаётся в силе: было бы здорово иметь возможность добавлять и удалять плагины так же, как мы это делаем с темами. Возможно, это стоит рассмотреть?
Я действительно ничего не знаю, но насколько мне известно, это невозможно, потому что Discourse состоит из множества скомпилированных JavaScript-файлов. Когда возникает необходимость добавить или удалить что-то, что меняет работу ядра, требуется пересборка.
Ситуация очень похожа, например, на работу с Varnish.
Кстати, я связался с командой серверов, и да, мы достигли 100% использования памяти.
5 ГБ ??? 5 ГБ оперативной памяти — это довольно много для чего бы то ни было.
Требования к Discourse гласят, что нужно всего 1 ГБ!
И сейчас процесс застрял на следующем:
104:M 04 Oct 2022 07:19:27.251 # Redis is now ready to exit, bye bye...
sha256:662695076506add39a630c2169b8b618f0121386951e93c6ffd2a6473107ae55
f4a95a1e69d5375e6ea30dfb22576209d249e5bc67b04a6fa09df289b1441888
Removing old container
+ /usr/bin/docker rm app
app
Поэтому я даже не могу обновить сервер, так как процесс будет прерван.
Честно говоря, я не думаю, что это проблема сервера. Если требуется 1 ГБ, то 5 ГБ должно быть более чем достаточно.
Что-то здесь не так, и очень серьёзно.
Я понимаю, что у других, должно быть, опыт лучше (взгляните на @merefield, который говорил об обновлении на 2 ГБ…), но у нас это не работает так, как должно.
В любом случае, это, наверное, уже не по теме этой ветки.
Я только что снова пересобрал другой сайт на 4 ГБ и 3 vCPU, и это заняло опять же меньше 15 минут (то есть лишняя память и процессорная мощность в моём случае не сильно помогли, но всё равно это далеко не часы!).
Единственное, что я заметил, так это то, что мой VPS использует vfs вместо рекомендуемых aufs или overlay.
Однако, согласно этой ссылке Can't run ./launcher rebuild app - Docker storage driver is unsupported - #45 by david, это не должно быть критично, поэтому мы запускаем лаунчер с флагом --skip-prereqs, иначе мы вообще не сможем запустить Discourse.
Меня всё же интересует, есть ли что-то ещё в требовании к драйверу хранилища.
Из этих данных неясно, почему восстановление займет столько времени.
Попробуйте запустить такой же VPS с Ubuntu где-нибудь еще. Это поможет понять, проблема ли это в хостинг-провайдере. Это обойдется вам в несколько долларов и займет пару часов работы.
Почему для 5 ГБ ОЗУ с чистым Discourse требуется больше swap, если системы с меньшим объёмом памяти полностью довольны тем, что получают автоматически?
Оказывается, сменить драйвер хранилища возможно — вопреки тому, что мне говорил хостинг-провайдер при развёртывании контейнера (тогда советовали либо отредактировать файл загрузчика, либо проигнорировать проверку).
Дурацкий момент, теперь, полагаю, уже слишком поздно.
В любом случае спасибо. Если это причина проблем, то, видимо, ошибка пользователя. Mea culpa
Кроме того, двухконтейнерная конфигурация сокращает время простоя, поскольку вы можете пересобрать новый веб-контейнер из CSV, пока старый продолжает работать.
Каков размер вашего сайта? Я бы всё равно добавил swap-файл для решения проблемы с памятью.
Пустой экземпляр с 1 ГБ ОЗУ и 1 ГБ swap-файла работает нормально для небольшого тестового сообщества, но как только оно начнёт расти, этого будет недостаточно. Swap-файл действительно имеет значение.
Если пересборка на «мощном» VPS, расположенном в дата-центре с высокоскоростным каналом в интернет, занимает 3 часа, а пересборка моей установки на https://discourse-on-a-pi.falco.dev, которая работает на плате размером с кредитную карту на моём столе и подключена к интернету через стандартный домашний тариф в стране третьего мира, занимает всего 14 минут (+4 минуты при наличии нового образа контейнера), то с продуктом, который вам продают, что-то не так…
Как обстоят дела с использованием памяти на сервере? Если вы находитесь на пределе или близко к нему до начала перестройки, у вас будет активное использование файла подкачки, что, безусловно, значительно замедлит все процессы.
Если это так, я бы предложил вам временно отключить всё остальное, что может работать на сервере, если это возможно.