Система изнутри: ресурсы, ядро, процессы / Ступень 10 из 12 · шаг 7 из 8
Служба держит загрузку
Ситуация
На складском сервере работают две службы: приём заказов lab-orders (http://127.0.0.1:8090) и
хранилище остатков lab-stock. Приём заказов при запуске берёт остатки у хранилища — без них заказы
не принимает.
После каждой перезагрузки сервер грузится на полминуты дольше, а lab-orders оказывается упавшей —
дежурный потом поднимает службы руками. Коллега уверяет, что зависимости служб настроил; юниты
лежат в /etc/systemd/system/.
Машина сейчас — как после такой загрузки: lab-orders только что пыталась запуститься.
Задача
lab-ordersсама запускает хранилищеlab-stockи стартует после него: зависимости — в её юните (Wants=иAfter=), встречного порядка нет.systemd-analyze verify lab-orders.service lab-stock.serviceне печатает предупреждений.lab-ordersработает, включена при загрузке и отвечает:curl http://127.0.0.1:8090/health.- После перезагрузки (
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 с — ещё не проверялась