Ответ
Нагрузочное тестирование (Load Testing) — это процесс проверки работы системы под ожидаемой или повышенной нагрузкой. Основные этапы:
- Определение целей: какие метрики важны (время отклика, пропускная способность, ошибки).
- Создание тестовых сценариев: эмуляция реального пользовательского поведения (API-запросы, UI-действия).
- Настройка окружения: максимально близко к продакшену (железо, сеть, БД).
- Запуск теста: постепенное увеличение нагрузки (RPS — запросов в секунду).
- Анализ результатов: выявление узких мест (CPU, память, deadlock-и).
Пример с JMeter:
<ThreadGroup>
<numThreads>100</numThreads> <!-- 100 пользователей -->
<rampUp>60</rampUp> <!-- за 60 секунд -->
<LoopController>
<loops>10</loops> <!-- 10 итераций на пользователя -->
</LoopController>
</ThreadGroup>
Ключевые метрики:
- Latency: 95-й перцентиль < 500 мс
- Throughput: 1000 RPS
- Error Rate: < 1%
Инструменты: JMeter, Gatling, Locust, k6. Для облачных решений — LoadRunner, BlazeMeter.