Нагрузочное тестирование (Load Testing) — это вид нефункционального тестирования, при котором проверяется,
как система ведёт себя под определённой нагрузкой (количество пользователей, запросов, операций).
Цель — убедиться, что система выдерживает ожидаемое количество одновременных пользователей без ошибок и деградации производительности.
Пример:
Банк проверяет, выдержит ли мобильное приложение 10 000 одновременных входов без падений и задержек API.
Нагрузочное тестирование — это процесс измерения производительности системы при рабочей или повышенной нагрузке.
Оно показывает,
как быстро система отвечает,
при какой нагрузке начинаются сбои,
и выдержит ли она реальные пользовательские потоки.
Относится к группе нефункциональных тестов (проверяет “как работает”, а не “что делает”).
Проверить, выдерживает ли система ожидаемую рабочую нагрузку.
Найти узкие места — медленные запросы, слабые модули, ошибки при пиках.
Определить максимальную пропускную способность и точку деградации.
Подготовить систему к пиковым нагрузкам (распродажи, зарплатные дни, отчётные периоды).
| Метрика | Что показывает | Пример |
|---|---|---|
| Response Time (RT) | Среднее время отклика | ≤ 2 сек при 1000 пользователей |
| Throughput (TPS / RPS) | Кол-во запросов в секунду | 250 RPS на API /login |
| Error Rate | Процент неуспешных запросов | ≤ 1% |
| CPU / RAM Utilization | Использование ресурсов | Не более 80% загрузки CPU |
| 95th Percentile | Время ответа 95% самых быстрых запросов | 95% ответов < 2 сек |
| Вид | Цель | Пример |
|---|---|---|
| Load Testing | Проверить систему под ожидаемой нагрузкой | 5000 пользователей → всё работает стабильно |
| Stress Testing | Проверить предел (максимум) системы | 15 000 пользователей → начинается деградация |
| Spike Testing | Проверить реакцию на резкий всплеск нагрузки | Резкий рост до 10 000 запросов/сек → система успевает адаптироваться |
| Endurance (Soak) Testing | Проверить работу при длительной нагрузке | 24 часа под постоянной нагрузкой → нет утечек памяти |
JMeter — классика, удобен для API и UI.
Gatling, k6, Locust — современные фреймворки (кодом).
BlazeMeter, LoadRunner, Yandex.Tank, NeoLoad — для промышленных нагрузок.
Пример:
JMeter-сценарий эмулирует 1000 пользователей, делающих POST /login и GET /balance раз в 10 секунд.
Банк перед запуском новой версии мобильного приложения провёл нагрузочные тесты:
5000 пользователей → время ответа API < 1.5 сек.
10 000 пользователей → 3% ошибок, CPU 85% — точка деградации.
После оптимизации кеширования → стабильная работа при 12 000 пользователях.
✅ Предотвращает падения продакшна при пиках нагрузки.
✅ Помогает планировать инфраструктуру (серверы, лицензии, балансировку).
✅ Снижает репутационные и финансовые риски.
💡 Итог:
Нагрузочное тестирование — это проверка устойчивости и производительности системы под реальной нагрузкой.
Оно помогает найти предел возможностей продукта до релиза, а не на глазах у пользователей.
Чтобы пожаловаться или сообщить об ошибке, войдите в аккаунт или зарегистрируйтесь.