Сегодня прогоняем тестовое веб‑приложение через обычную нагрузку и простейшую «атаку», чтобы увидеть разницу по метрикам и логам. Всё через терминал и пару утилит:
hey/ab для нагрузки и curl для имитации агрессивного клиента.Сначала замерим «здоровое» состояние с равномерной нагрузкой:
hey -z 30s -c 20 http://localhost:8080/
За 30 секунд получим средний
RPS, latency и процент ошибок. Это будет базовый уровень, с которым будем сравнивать.Теперь устроим «атаку» с одного IP — резкий всплеск запросов:
hey -z 30s -c 200 http://localhost:8080/login
Следим в это время за приложением:
tail -f app.log
htop
В логах увидишь частые обращения к одному эндпоинту и рост
5xx/4xx, а по ресурсам — скачок CPU/памяти.Можно вынести это в простой скрипт:
load_test() {
hey -z 20s -c 30 "$1"
hey -z 20s -c 200 "$1"
}
load_test "http://localhost:8080/login"🔥 Так удобно быстро смотреть, где приложение начинает «сыпаться» под нагрузкой: код, база или сеть.
➡️ DevOps Ready | #практика