Ответ
Решение о проведении нагрузочного (performance) тестирования принимается на основе следующих ключевых признаков:
- Критичность производительности для бизнеса: Сервис является высоконагруженным (платежи, API шлюз, система бронирования).
- Предстоящие изменения инфраструктуры: Миграция на новые серверы, обновление версии базы данных, переход в другой облачный регион.
- Значительные изменения в коде: Рефакторинг ключевых модулей, внедрение нового алгоритма или фреймворка, изменение схемы базы данных.
- Ожидаемый рост нагрузки: Запуск маркетинговой кампании, сезонный всплеск трафика (Черная пятница), выход на новые рынки.
- Наличие проблем в production: Инциденты, связанные с медленным откликом или падением сервиса под нагрузкой, высокий процент ошибок 5xx.
- Требования SLA/SLO: Необходимость гарантировать определенное время отклика (например, p95 < 200 мс) при заданном RPS (запросов в секунду).
Пример сценария для тестирования:
# Конфигурация теста в JMeter/Gatling
scenario:
name: "Checkout Load Test"
expected-rps: 1000
duration: 10m
thresholds:
- p95-response-time: < 500ms
- error-rate: < 0.1%
Без нагрузочного тестирования риски включают деградацию производительности, downtime и потерю revenue при реальном скачке трафика.