ai_learning/modules/15_ml_engineering/assignments/03_container.md

2.2 KiB
Raw Blame History

Контейнер и нагрузка

Цель

Упаковать сервис в Docker и измерить latency/throughput.

Теория перед выполнением

Что сделать

  1. Собрать воспроизводимый образ сервиса с фиксированными зависимостями.
  2. Запустить контейнер без root и задать ограничения CPU/RAM.
  3. Подготовить реалистичный профиль нагрузки, warm-up и steady-state этап.
  4. Измерить p50/p95, throughput, error rate и пиковую память.
  5. Найти предел устойчивой нагрузки и описать поведение backpressure.
  6. Зафиксировать команды, окружение и результаты в отчёте.

Результат

Dockerfile, команды запуска и отчёт нагрузочного теста.

Решение разместите рядом в solution/. Не коммитьте большие данные, веса или секреты.

Критерии приёмки

  • Образ воспроизводим; указаны p50/p95 и пределы памяти.
  • Код читаем, разбит на функции и запускается по инструкции.
  • Выводы подтверждаются измерениями и не выходят за пределы эксперимента.

Вопросы для самопроверки

  • Воспроизводится ли образ из чистого окружения?
  • Соответствует ли профиль теста реальным payload и concurrency?
  • При какой нагрузке начинают расти p95 и ошибки?
  • Какой ресурс первым ограничивает throughput и как это доказано?