Рейтинг:0

Служба Systemd для Sinatra + Thin продолжает перезапускаться

флаг cn

У меня есть служба systemd для приложения Sinatra, работающего с тонким сервером за обратным прокси-сервером Nginx. Он работает нормально, но поскольку он получает много трафика, я вижу много ошибок nginx о невозможности подключения к восходящему потоку. При проверке службы я заметил, что она никогда не работает очень долго, в лучшем случае всего несколько минут, что объясняет, почему Nginx не может подключиться много раз (во время перезагрузки службы).

Глядя на вывод журналctl для службы я вижу много этого:

20 декабря, 22:09:48 cs2092 systemd[1]: запущен веб-сайт моего приложения.
20 декабря 22:10:59 комплект cs2092 [11576]: вызывается чистый виртуальный метод
20 декабря 22:10:59 комплект cs2092 [11576]: завершение вызывается без активного исключения
20 декабря 22:10:59 cs2092 systemd[1]: my-service.service: основной процесс завершен, код = убит, статус = 6/ABRT
20 декабря, 22:10:59 cs2092 systemd[1]: my-service.service: Ошибка с результатом «сигнал».
20 декабря, 22:10:59 cs2092 systemd[1]: my-service.service: Время задержки службы истекло, запланирован перезапуск.
20 декабря, 22:10:59 cs2092 systemd[1]: my-service.service: запланированное задание перезапуска, счетчик перезапусков равен 7.
20 декабря, 22:10:59 cs2092 systemd[1]: остановлен веб-сайт моего приложения.
20 декабря 22:10:59 cs2092 systemd[1]: запущен веб-сайт моего приложения.
20 декабря 22:11:19 комплект cs2092 [11828]: вызывается чистый виртуальный метод
20 декабря 22:11:19 комплект cs2092 [11828]: завершение вызова без активного исключения
20 декабря 22:11:19 cs2092 systemd[1]: my-service.service: основной процесс завершен, код = убит, статус = 6/ABRT
20 декабря, 22:11:19 cs2092 systemd[1]: my-service.service: Ошибка с результатом «сигнал».
20 декабря, 22:11:19 cs2092 systemd[1]: my-service.service: Время задержки службы истекло, запланирован перезапуск.
20 декабря, 22:11:19 cs2092 systemd[1]: my-service.service: запланированное задание перезапуска, счетчик перезапусков равен 8.
20 декабря, 22:11:19 cs2092 systemd[1]: остановлен веб-сайт моего приложения.
20 декабря 22:11:19 cs2092 systemd[1]: запущен веб-сайт моего приложения.
20 декабря 22:14:28 комплект cs2092 [11968]: вызывается чистый виртуальный метод
20 декабря 22:14:28 комплект cs2092 [11968]: завершение вызова без активного исключения
20 декабря 22:14:28 cs2092 systemd[1]: my-service.service: основной процесс завершен, код = убит, статус = 6/ABRT
20 декабря, 22:14:28 cs2092 systemd[1]: my-service.service: Ошибка с результатом «сигнал».
20 декабря, 22:14:28 cs2092 systemd[1]: my-service.service: Время задержки службы истекло, запланирован перезапуск.
20 декабря, 22:14:28 cs2092 systemd[1]: my-service.service: запланированное задание перезапуска, счетчик перезапусков равен 9.
20 декабря, 22:14:28 cs2092 systemd[1]: остановлен веб-сайт моего приложения.
20 декабря 22:14:28 cs2092 systemd[1]: запущен веб-сайт моего приложения.

Похоже, приложение регулярно убивают? Почему это происходит?

Вот служба:

[Ед. изм]
Description=Веб-сайт моего приложения
Документация=https://myapp.com
После=network.target

[Оказание услуг]
Тип=простой
Рабочий каталог=/var/www/my-app
Окружающая среда = «RACK_ENV = производство»
ExecStart=/usr/local/bin/bundle exec /usr/local/bin/thin -R /var/www/my-app/config.ru -p 6903 --max-conns 15360 --max-persistent-conns 2048 --threaded --начало отладки
ExecStop=/usr/local/bin/bundle exec /usr/local/bin/thin -R /var/www/my-app/config.ru -p 6903 стоп
ExecReload=/usr/local/bin/bundle exec /usr/local/bin/thin -R /var/www/my-app/config.ru -p 6903 --max-conns 15360 --max-persistent-conns 2048 --threaded --debug перезапустить
Перезапуск = при сбое
Пользователь=жюльен

[Установить]
WantedBy=многопользовательская.цель

Еще одна вещь, которую я не понимаю, как вы можете видеть из службы, с которой я запускаю Sinatra --max-conns 15360 и все же в журналctl вывод я вижу, что максимальное количество подключений установлено на 1024:

21 декабря 10:24:24 комплект cs2092 [21058]: запуск моего приложения в производстве...
21 декабря 10:24:24 cs2092 bundle[21058]: 2021-12-21 10:22:30 +0000 Тонкий веб-сервер (кодовое имя v1.8.1 Infinite Smoothie)
21 декабря 10:24:24 комплект cs2092 [21058]: 2021-12-21 10:22:30 +0000 Отладка включена
21 декабря 10:24:24 комплект cs2092[21058]: 2021-12-21 10:22:30 +0000 Максимальное количество подключений установлено на 1024
21 декабря 10:24:24 cs2092 bundle[21058]: 2021-12-21 10:22:30 +0000 Прослушивание 0.0.0.0:6903, CTRL+C для остановки

Любая идея о том, что происходит?

Примечание: Ubuntu 18.04.4.

флаг jp
Ответил на кросспост на https://unix.stackexchange.com/a/683327/1027
Рейтинг:0
флаг cn

Похоже, проблема была в тонком сервере, как только я заменил его на Puma, все проблемы исчезли.

Ответить или комментировать

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