Нагрузочное тестирование
Использовал k6 для нагрузочного тестирования web-сценариев и оценки рабочих диапазонов нагрузки по RPS, latency и ошибкам.
Что проверял
- публичную главную страницу;
- авторизованный сценарий
/dashboard; - throughput при фиксированной модели нагрузки;
http_req_duration,http_req_failed,dropped_iterations;- различия между публичными и авторизованными сценариями;
- соответствие заданным SLA по задержке и ошибкам.
Как был организован тест
- использовал модель нагрузки
constant-arrival-rate: генератор старается держать фиксированную интенсивность входящего потока запросов; - задавал thresholds по latency и error rate;
- запускал отдельные прогоны для публичного и авторизованного сценариев;
- для авторизованного сценария передавал cookies активной сессии;
- оформлял результаты в виде baseline-отчёта для последующих оптимизаций.
Результаты и выводы
По итогам прогонов фиксировал рабочие диапазоны нагрузки для конкретной VPS-конфигурации:
- главная страница стабильно выдерживала около
100 RPS; - при
105 RPSоставалась на верхней границе рабочего режима; - при
110 RPSначиналась деградация хвостовой задержки, появлялись timeout иdropped_iterations; - авторизованный
/dashboardоказался заметно тяжелее и уже в диапазоне15-25 RPSпоказывал нестабильность поp99+.
Практический опыт
- писал и запускал
k6-сценарии под реальные web-страницы; - сравнивал публичные и авторизованные сценарии отдельно;
- определял предельный
RPS, при котором сайт ещё укладывается в SLA; - фиксировал результаты как baseline перед дальнейшими оптимизациями.