TGViewer
Записки системного архитектора Записки системного архитектора @sysarchthoughts · 269 subscribers
Post #19 196
Что такое нагрузочное тестирование и зачем оно проводится?
Столкнулся с тем, что у многих есть сложности с ответом на простой вопрос - "в чем цель нагрузочного тестирования?".
Когда в ответ на этот вопрос я слышу: "Вот у нас тут есть запланированные профили, а цель тестирования - прогнать эти профили и написать отчет", то у меня начинают ныть зубы. Кроме того, часто путают и смешивают нагрузочное, стресс-тестированию и тестирование производительности.
Для чего же проводят такого рода тестирования?
Мне видится, что цели бывают, как минимум, такие:

1. Проверить, что система способна выдержать ожидаемые (или требуемые) нагрузки. В этом случае составляют профили нагрузки исходя из ожидаемой реальной нагрузки, моделируют настоящее поведение пользователей и контролируют показатели работы системы (время отклика, объемы потребляемых ресурсов и т.п.) под заданной нагрузкой (например, RPS или количество одновременно подключенных пользователей).

2. Измерить предельно допустимую нагрузку на систему. Применяется для планирования нагрузки и, например, обоснования увеличения КТС. При таком тестировании используют профили нагрузки, аналогичные первому случаю, но нагрузку устанавливают не целевую, а плавно поднимают от минимальной до тех пор, пока показатели работы системы остаются в приемлемом диапазоне. В результате не только выявляется допустимая нагрузка, но и выявляются ограничения, которые её определяют - объем памяти, производительность системы хранения или количество процессорных ядер.

3. Измерить показатели производительности для отслеживания динамики и реагирования на изменения значений показателей. При таком тестировании выполняют заранее подготовленные типовые задачи и замеряют время их выполнения и другие показатели - количество операций в секунду, время выполнения одной операции и т.п.

4. Выявить узкие места для последующей оптимизации. Когда известны пределы допустимой нагрузки, но хочется их расширить, то реалистичные сценарии и профили нагрузки откладываются в сторону, вместо этого берутся в рассмотрение и прогоняются самые тяжеловесные и проблемные сценарии. По итогам прогонов собирается отладочная и вспомогательная информация с помощью специализированных инструментов (трейсеров, профайлеров), которая помогает идентифицировать проблемные места с точки зрения потребления вычислительных ресурсов. Это работа на стыке тестирования, разработки и архитектуры.

Наверняка список не исчерпывающий, но суть поста в том, что в зависимости от цели существенно изменяется методика и подходы к тестированию.
А просто прогон профилей без понимания цели - это так себе подход.

#performance #load #testing
More from @sysarchthoughts
  1. Aug 4, 2026Мне жена как-то сказала, что только в зрелом возрасте осознала трагедию сказки о рыбаке и…
  2. Jul 2, 2026Я не давлю. Я пытаюсь опереться.
  3. Apr 2, 2026Пригласили меня тут в жюри школьного проектного конкурса, и вот что хочу сказать: мало кто…
  4. Mar 22, 2026Как технические границы делают все бизнес-критичным? Ключевой вопрос, которому посвящена э…
  5. Mar 22, 2026Неуловимо напоминает "основной закон органической химии". Если смешать бочку мёда и бочку…
  6. Mar 10, 2026(продолжение рассуждений про больницу) Что мне тут понравилось, что беру на заметку. 1. Че…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →