Linux Labs

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

Служба держит загрузку

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

Ситуация

На складском сервере работают две службы: приём заказов lab-orders (http://127.0.0.1:8090) и хранилище остатков lab-stock. Приём заказов при запуске берёт остатки у хранилища — без них заказы не принимает.

После каждой перезагрузки сервер грузится на полминуты дольше, а lab-orders оказывается упавшей — дежурный потом поднимает службы руками. Коллега уверяет, что зависимости служб настроил; юниты лежат в /etc/systemd/system/.

Машина сейчас — как после такой загрузки: lab-orders только что пыталась запуститься.

Задача

  1. lab-orders сама запускает хранилище lab-stock и стартует после него: зависимости — в её юните (Wants= и After=), встречного порядка нет.
  2. systemd-analyze verify lab-orders.service lab-stock.service не печатает предупреждений.
  3. lab-orders работает, включена при загрузке и отвечает: curl http://127.0.0.1:8090/health.
  4. После перезагрузки (sudo reboot) lab-orders поднимается сама с первой попытки и держит загрузку не дольше 10 секунд.

Ограничения

  • Код приложений — /usr/local/bin/order-desk и /usr/local/bin/stock-store — не меняй.
  • Перезагружать машину можно сколько угодно: терминал покажет загрузку и снова войдёт под student. «Проверить» смотрит загрузку, которая прошла после подготовки машины, поэтому перезагрузи её после правки.

Интернета на машине нет, всё нужное установлено. Как идёт запуск службы, видно в systemctl status lab-orders и journalctl -u lab-orders; что держит загрузку — в systemd-analyze blame и systemd-analyze critical-chain.

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

Все заметки

Цели лабы

0 из 4
  • lab-orders сама запускает хранилище lab-stock и стартует после него (Wants= и After=), встречного порядка нет — ещё не проверялась
  • systemd-analyze verify lab-orders.service lab-stock.service — без предупреждений — ещё не проверялась
  • lab-orders работает, включена при загрузке и отвечает на http://127.0.0.1:8090/health; код приложений прежний — ещё не проверялась
  • После перезагрузки (sudo reboot) lab-orders поднялась сама с первой попытки и держала загрузку не дольше 10 с — ещё не проверялась

Подсказки

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

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

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

Загрузка…