Нагрузочное тестирование: цифры, которые врут
Разбираюсь сейчас с нагрузочным тестированием и первое, что усвоила: среднее время ответа - самая бесполезная метрика в отчёте. Почему. Если 95 запросов отработали за 50 мс, а 5 - за 3 секунды, среднее будет около 200 мс. Выглядит отлично. А каждый двадцатый пользователь при этом ждёт три секунды.
Что смотреть вместо среднего: 🔹 p95 и p99. Время, в которое укладываются 95% и 99% запросов. Именно p99 показывает, как живут самые невезучие пользователи. 🔹 Разброс между p50 и p99. Если p50 равен 50 мс, а p99 - 3 секунды, где-то есть узкое место: блокировка в базе, исчерпанный пул соединений, сборка мусора. 🔹 Процент ошибок под нагрузкой. Сервис, который отвечает быстро, но с ошибками, хуже медленного. 🔹 Корректность ответов. Самое неочевидное: под нагрузкой сервис может отвечать быстро, стабильно и возвращать неверные данные. Если проверять только время и коды ответов, это не всплывёт.
Про сам тест. Отдельная засада - разогрев. Первые секунды прогона всегда хуже: прогреваются кэши, поднимаются соединения. Если не отрезать этот участок, он испортит всю статистику.
Какие метрики вы считаете обязательными в отчёте по нагрузке? 👇
Всех обняла! #QA #НагрузочноеТестирование #k6 #Тестирование
· вчера
При помощи каких инструментов проводите нагрузочное тестирование? Или вы только результаты обрабатываете?
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
коммент удалён
· вчера
Александр, основной инструмент - k6. Нравится, что сценарии пишутся на JS, а пороги (thresholds) задаются прямо в конфиге: прогон сам падает, если p95 или процент ошибок вышли за рамки. Результаты смотрю и обрабатываю сама: в k6 удобно выгружать метрики в JSON или прокидывать в Grafana. Отдельно всегда проверяю корректность ответов под нагрузкой, а не только тайминги - быстрый ответ с неверными данными легко пропустить. Сейчас как раз углубляюсь в тему, так что буду рада, если поделитесь своим стеком 🙂
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён
· вчера
Я не инженер по нагрузочному тестированию, стека у меня нет никакого. В редких случаях пишу конфигурацию для locust, им же и проверяю какие-то простые вещи (например, что форма авторизации не нагружает базу данных при 500 одновременных логинах)
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён