Базовый уровень проверки системы на нагрузки — использовать данные, основанные на аналитике и сценариях, которые могут возникнуть у вашей системы. Но это работает только на этапе препрода или даже раньше.
Второй уровень пишется на основе реальных данных и статистики эксплуатации. Когда система уже применяется, есть какие‑то данные и вы можете их использовать.
Ниже рассмотрим сценарии, при которых помогает нагрузочное тестирование, стресс тесты и тестирование на пиковые нагрузки.
1️⃣Нагрузочное тестирование
Используется для проверки, как система справляется с ожидаемым уровнем нагрузки в нормальных условиях
Сценарий: в корпоративной системе запланировано ежемесячное обновление данных, а еще разработчики готовят к релизу новый продукт — сможет ли он обрабатывать запланированное количество пользователей одновременно?
Возможный исход: во время испытаний ответ занимал 2 секунды при 2 млн записей в базе, но на деле записей уже в первый день стало 5 млн, а затем и 20 млн. Все запросы стали выполняться более 20 секунд, что приводило к тайм-ауту.
2️⃣ Стресс-тестирование
Помогает выявить пределы возможностей системы и ее поведение при экстремальных нагрузках.
Сценарий: разработчики готовят новый патч для онлайн-игры и хотят понимать, как система реагирует на DDOS-атаки или другие сценарии, когда количество запросов значительно превышает нормальные уровни.
Возможный исход: ажиотаж от обновления любимой игры не был предсказуем — вернулись даже те пользователи, которые не заходили в игру целый год. Команда столкнулась с массовой проблемой невозможности зайти в игру — упала авторизация. Разработчиков завалили целой горой негатива и тикетов.
3️⃣ Тестирование пиковой нагрузки
Оценивает способность системы справляться с внезапными всплесками активности за короткий период времени.
Сценарий: интернет-магазин планирует крупную распродажу на Черную пятницу, которая привлечет много покупателей. Необходимо проверить, справится ли сайт с увеличением числа посетителей и транзакций.
Возможный исход: после запуска акции серверы легли в первый же вечер по простой причине — в каталог добавили ограниченные предложения, и все желающие одновременно пытались зайти с нескольких устройств и забронировать по несколько штук дефицитного товара. В итоге система висла намертво.
Core 24/7 протестирует вашу систему на нагрузки и покажет, на что способна ваша система, что может пойти не так при форс-мажорных обстоятельствах и как из них выйти с наименьшими потерями. Нагрузка на сервер перестанет быть головной болью.
#perfomancetest
@DevOpsKaz
