Всем привет.
Надеюсь, кто-то сможет помочь мне решить проблему, с которой мы столкнулись на нашем форуме: —
https://forum.combustionpunks.co.uk
Это долгая история… но я хочу предоставить всю информацию, которая может помочь в решении проблемы, так что, пожалуйста, наберитесь терпения. В ходе этого вы заметите, что у меня не так много опыта работы с Ubuntu ![]()
Всё работало отлично уже довольно долгое время
вплоть до вчера вечером.
Мы проводим небольшой ребрендинг: обновляем логотипы и тому подобное, поэтому вчера я зашёл в панель администратора и загрузил новые логотипы. Также я заметил, что мы отстали на несколько версий, поэтому запустил обновления, которые пришлось выполнить вручную, следуя инструкциям здесь: —
например:
cd /var/discourse
git pull
./launcher rebuild app
Всё казалось в порядке, обновления завершились, логотипы загружены и отображаются, я попробовал несколько тем, вернулся к исходной, затем вышел на встречу, связанную с вовлечённостью в сообщество… да, я пошёл в паб пообедать с друзьями.
Примерно через 30 минут, находясь вне дома, мы заметили, что форум недоступен… небольшая паника, затем выяснилось, что у Digital Ocean возникли проблемы, и я успокоился.
Вернулся примерно через 2 часа, проблемы с DO были решены, но форум всё ещё был недоступен… не страшно, я перезапустил дроплет, всё снова заработало… примерно через 30 минут он снова стал недоступен…
Далее я подумал, что лучше всего будет устранить все оставшиеся обновления, поэтому попытался обновить Docker командой:
wget -qO- https://get.docker.com/ | sh
это, казалось, ничего не изменило.
Пересобрал приложение: ./launcher rebuild app
Я не думаю, что обновление произошло, так как при пересборке приложения сообщается:
docker version 17.05.0-ce устарела, и при запуске docker version также отображается 17.05.0-ce
Затем я заметил, что прямо перед тем, как форум стал недоступен, мы получали сообщения вроде:
Out of memory: kill process (convert) or sacrifice child
Out of memory: kill process (ruby) or sacrifice child
Запустил Htop
Много процессов sidekiq, нашёл пост о снижении количества потоков, обрабатываемых одновременно — уменьшил с 80 до 2 — проблемы продолжились.
Процессы convert работают с JPEG-файлами в var/www/discourse/public/uploads/default/original/ (не знаю, как отобразить остальную часть строки, чтобы увидеть, с какими именно изображениями они работают).
Использование процессора 100% — Ruby var/www/discourse/vendor/bundle/ruby/2.6.0/bin/unicorn -E
Обновил ОС — теперь работает Ubuntu 18.04.
Docker всё ещё на версии 17.05.0-ce.
Размер дроплета увеличен с 2 ГБ, 1 vCPU, 50 ГБ ($10) до 3 ГБ, 1 vCPU, 50 ГБ ($15).
Проблемы продолжаются.
Перезапуск дроплета или пересборка Discourse возвращает систему в рабочее состояние на короткое время (10–30 минут), после чего она снова становится недоступной.
Любая помощь по этому вопросу будет очень признательна, заранее большое спасибо.
Мэтт