Ответ вслух Middle Нагрузочное тестирование спрашивают часто обновлено

Как ты проведёшь нагрузочное тестирование

Вопрос

Перед распродажей просят проверить, выдержит ли сервис. Как ты будешь действовать?

Попробуйте сами

Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.

Показать ответ и разбор

Коротко

Сначала цели: какой пик ждём, например по прошлой распродаже и прогнозу маркетинга, и какие критерии: p95 меньше 500 миллисекунд, ошибок меньше процента. Потом профиль: по логам прода смотрю, какие операции делают пользователи и в каких пропорциях, каталог, поиск, корзина, оплата, и умножаю на коэффициент распродажи.

Что должно прозвучать в ответе

  • Цели: ожидаемый пик, SLO по p95/p99 и доле ошибок

  • Профиль: сценарии и пропорции из прода, коэффициент на распродажу

  • Стенд, похожий на прод, данные нужного объёма, мониторинг всех компонентов

  • Серия тестов: базовый, рост ступенями до пика, стресс, всплеск, стабильность

  • Анализ узких мест, отчёт с выводами и повтор после исправлений

Что могут спросить следом

  • Чем открытая модель нагрузки отличается от закрытой?
  • Что делать, если стенд слабее прода?
  • Как понять, что виноват генератор, а не сервер?

Разбор

Сначала цели: какой пик ждём, например по прошлой распродаже и прогнозу маркетинга, и какие критерии: p95 меньше 500 миллисекунд, ошибок меньше процента. Потом профиль: по логам прода смотрю, какие операции делают пользователи и в каких пропорциях, каталог, поиск, корзина, оплата, и умножаю на коэффициент распродажи. Готовлю стенд, максимально похожий на прод, с базой реального объёма и мониторингом всего: приложения, базы, кешей, очередей и самого генератора. Скрипты отлаживаю на малой нагрузке. Дальше серия: базовый прогон, ступенчатый рост до пика, стресс выше пика, чтобы знать запас и как система падает, всплеск и долгий тест стабильности. Для сайта беру открытую модель, потому что покупатели не ждут друг друга. По итогам ищу узкие места, вместе с разработкой правлю и повторяю, а в отчёте пишу выводы: какую нагрузку держим, где предел и что сломается первым.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме