Система изнутри: ресурсы, ядро, процессы / Итоговая лаба
Медленный сервер: разбор трёх жалоб
Не запущена
Запускается
Ситуация
На этом сервере работает сайт каталога интернет-магазина — служба lab-catalog, порт 8080. С утра
на сервер пришли три жалобы, у каждой — свой ключ:
- slow — главная
http://localhost:8080/открывается по полсекунды, хотя обычно ей хватает сотых долей секунды. Время ответа:curl -s -o /dev/null -w '%{time_total}\n' http://localhost:8080/. - memory — мониторинг пишет, что доступной памяти на сервере с каждой минутой меньше, хотя посетителей не прибавилось.
- errors — когда посетителей много, запросы к карточкам товаров
/api/item/<номер>заканчиваются ошибкой 500. Наплыв из 200 одновременных запросов:
bash
curl -s -Z --parallel-max 200 --parallel-immediate -o /dev/null -w '%{http_code}\n' 'http://localhost:8080/api/item/[1-200]' | sort | uniq -c
Разработчики займутся своим кодом позже. От тебя — найти на машине, что вызывает каждую жалобу, и
устранить причину настройками системы и служб. Программы в /usr/local/bin не меняй. sudo работает
без пароля.
Задача
- slow: главная отвечает быстрее чем за 0,25 с — и после перезагрузки сервера.
- memory: процесс, который съедает память, продолжает работать, но не может занять больше 128 МиБ, а дорастая до предела, поднимается сам — и после перезагрузки.
- errors: все 200 запросов из команды выше получают код 200 — и после перезапуска службы и перезагрузки.
- Отчёт
~/triage.txt— по строке на жалобу: ключ, PID процесса-виновника и причина своими словами.
slow: <PID> <причина>
memory: <PID> <причина>
errors: <PID> <причина>
PID — тот, что ты нашёл при разборе. После перезапуска у процесса новый PID; подойдёт и прежний.
Цели лабы
0 из 4-
slow: главная http://localhost:8080/ отвечает быстрее 0,25 с — и после перезагрузки — ещё не проверялась
-
memory: процесс, который съедал память, работает в пределе 128 МиБ и поднимается сам — и после перезагрузки — ещё не проверялась
-
errors: все 200 одновременных запросов к /api/item/… получают код 200 — и после перезапуска службы и перезагрузки — ещё не проверялась
-
В ~/triage.txt по каждой жалобе — PID процесса-виновника и причина — ещё не проверялась
Подсказки
открыто 0 из 3 · открываются по одной
Подсказка 1
Показать решение
после 3 неудачных проверок