Linux Labs

Система изнутри: ресурсы, ядро, процессы / Ступень 4 из 12 · шаг 8 из 10

Служба падает под нагрузкой

средняя ~25 мин
Не запущена Запускается обычно ~20 с
Сообщить о проблеме

Ситуация

Служба lab-notify — приложение notify-hub — рассылает уведомления внутреннего портала. Каждая открытая страница портала подписывается на /events и держит соединение со службой. Пока подписчиков было несколько десятков, служба работала. Сегодня их около трёхсот, и служба то работает, то нет: curl http://127.0.0.1:8090/health через раз отвечает Connection refused. Вчера коллега уже поправил настройки службы — не помогло.

Подписчиков на машине изображает служба lab-subscribers: она держит 300 подписок и переподключает оборванные.

Задача

  1. lab-notify держит 1000 подписчиков разом: отвечает на curl http://127.0.0.1:8090/health и не перезапускается. Код приложения прежний.
  2. Настройку службы меняй в drop-in. Юнит из пакета /usr/lib/systemd/system/lab-notify.service не правь и не подменяй копией: следующее обновление пакета его перезапишет.
  3. systemd-analyze verify lab-notify.service ничего не печатает.
  4. Служба держит ту же нагрузку и после перезапуска: sudo systemctl restart lab-notify.

Интернета на машине нет, всё нужное уже установлено. Команды администратора запускай через sudo.

Видна только тебе. Сохраняется при вводе.

Все заметки

Цели лабы

0 из 4
  • lab-notify держит 1000 подписчиков, отвечает на /health и не перезапускается; код приложения прежний — ещё не проверялась
  • Настройка лежит в drop-in службы, юнит из пакета прежний, процесс запущен с этой настройкой — ещё не проверялась
  • systemd-analyze verify lab-notify.service ничего не печатает — ещё не проверялась
  • Служба держит ту же нагрузку и после перезапуска — ещё не проверялась

Подсказки

открыто 0 из 3 · открываются по одной
Подсказка 1
Показать решение после 3 неудачных проверок

Выйти из лабы?

Машина проработает ещё 10 минут и удалится. Файлы пропадут, выполненные цели останутся.

Загрузка…