Беру нагрузочное тестирование на Gatling целиком: от разбора профиля трафика до готовых порогов в вашем конвейере. Я не кликаю руками и не гоняю разовые прогоны — каждый сценарий у меня живёт как код на Scala, лежит в репозитории рядом с приложением и переживает любой рефакторинг. Прежде чем писать симуляцию, я выясняю, как ведут себя настоящие пользователи: какие ручки самые горячие, где нужны think-time и корреляция токенов, какими данными кормить фидеры, чтобы нагрузка была похожа на прод, а не на синтетику.
Смысл всей затеи — увидеть предел раньше пользователя. Я собираю открытые и закрытые модели нагрузки, прокатываю профили на выносливость и на резкий всплеск, ступенчато поднимаю виртуальных пользователей и смотрю, где система перестаёт держать SLA. Средние показатели обхожу стороной: правда сидит в хвостах, в p95 и p99. Когда что-то тормозит, докапываюсь до виновного слоя — пул потоков, лимит коннектов, тяжёлый SQL, забитая очередь, длинная пауза GC — и показываю это цифрами. На выходе не свалка графиков, а короткий разбор и пороги pass/fail в CI, чтобы регрессия валила сборку сама. Узнайте свои лимиты раньше, чем их узнают ваши клиенты.
— Сценарии Gatling на Scala в вашем репозитории
— Профили soak, spike, stress и проверка запаса ёмкости
— Перцентили, трассировка узких мест, план тюнинга
— Пороги pass/fail в конвейере и история прогонов
Смысл всей затеи — увидеть предел раньше пользователя. Я собираю открытые и закрытые модели нагрузки, прокатываю профили на выносливость и на резкий всплеск, ступенчато поднимаю виртуальных пользователей и смотрю, где система перестаёт держать SLA. Средние показатели обхожу стороной: правда сидит в хвостах, в p95 и p99. Когда что-то тормозит, докапываюсь до виновного слоя — пул потоков, лимит коннектов, тяжёлый SQL, забитая очередь, длинная пауза GC — и показываю это цифрами. На выходе не свалка графиков, а короткий разбор и пороги pass/fail в CI, чтобы регрессия валила сборку сама. Узнайте свои лимиты раньше, чем их узнают ваши клиенты.
— Сценарии Gatling на Scala в вашем репозитории
— Профили soak, spike, stress и проверка запаса ёмкости
— Перцентили, трассировка узких мест, план тюнинга
— Пороги pass/fail в конвейере и история прогонов