0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<p>С каждым днем в мире становится все больше и больше инструментов для проведения нагрузочного тестирования. Собственно, и сам интерес к этой теме начинает возрастать.</p>
1
<p>С каждым днем в мире становится все больше и больше инструментов для проведения нагрузочного тестирования. Собственно, и сам интерес к этой теме начинает возрастать.</p>
2
<p>Основная задача инструмента нагрузочного тестирования -<strong>подать заданную нагрузку</strong>на систему. Но кроме этого есть еще одна, не менее важная задача -<strong>предоставить отчет</strong>о результатах подачи этой нагрузки. Иначе мы проведем тестирование, но ничего не сможем сказать о его результате и не сможем достаточно точно определить, с какого момента началась деградация системы.</p>
2
<p>Основная задача инструмента нагрузочного тестирования -<strong>подать заданную нагрузку</strong>на систему. Но кроме этого есть еще одна, не менее важная задача -<strong>предоставить отчет</strong>о результатах подачи этой нагрузки. Иначе мы проведем тестирование, но ничего не сможем сказать о его результате и не сможем достаточно точно определить, с какого момента началась деградация системы.</p>
3
<p>В настоящий момент наиболее популярными инструментами тестирования являются<strong>Gatling, MF LoadRunner, Apache JMeter</strong>. Все они обладают возможностями как генерации готовых отчетов по проведенному тестированию, так и отдельных графиков или сырых данных, на основе которых строится уже сам отчет.</p>
3
<p>В настоящий момент наиболее популярными инструментами тестирования являются<strong>Gatling, MF LoadRunner, Apache JMeter</strong>. Все они обладают возможностями как генерации готовых отчетов по проведенному тестированию, так и отдельных графиков или сырых данных, на основе которых строится уже сам отчет.</p>
4
<p>Прежде чем писать любой отчет, нужно понять, для кого мы его пишем и какую цель преследуем. Нет никакого смысла добавлять множество графиков времени отклика приложения в отчет по каждой операции, если ваша цель - определить, есть ли утечки памяти, зафиксирована ли нестабильная работа во время теста надежности или если вам нужно сравнить два релиза между собой в рамках регрессионного тестирования. Для ответа на эти вопросы вам хватит всего пары графиков, если, конечно, вы не зафиксировали проблемы и не хотите в них разобраться. Поэтому, прежде чем создавать отчет, подумайте, а точно ли вам нужно добавить все графики в него или лишь наиболее показательные и дающие ответ на цель тестирования. Также набор графиков и их анализ для отчета зависят от выбранной модели нагрузки - закрытой или открытой, так как разные модели дадут разные фигуры на графиках.</p>
4
<p>Прежде чем писать любой отчет, нужно понять, для кого мы его пишем и какую цель преследуем. Нет никакого смысла добавлять множество графиков времени отклика приложения в отчет по каждой операции, если ваша цель - определить, есть ли утечки памяти, зафиксирована ли нестабильная работа во время теста надежности или если вам нужно сравнить два релиза между собой в рамках регрессионного тестирования. Для ответа на эти вопросы вам хватит всего пары графиков, если, конечно, вы не зафиксировали проблемы и не хотите в них разобраться. Поэтому, прежде чем создавать отчет, подумайте, а точно ли вам нужно добавить все графики в него или лишь наиболее показательные и дающие ответ на цель тестирования. Также набор графиков и их анализ для отчета зависят от выбранной модели нагрузки - закрытой или открытой, так как разные модели дадут разные фигуры на графиках.</p>
5
<p>Я работаю в Тинькофф, где мы активно используем инструмент<strong>Gatling</strong>, поэтому на его примере расскажем, как создать отчет вашей мечты и куда следует смотреть при его анализе. Также сразу хочу заметить, что почти все графики сегодня можно получать в режиме онлайн с помощью связки вашего инструмента с<strong>Grafana</strong>. Это наиболее удобный инструмент для создания отчетов "на лету", с помощью сконфигурированного заранее дашборда. Более того, это позволяет более быстро создать почти любой график на основе отправленных вами данных. Уже сейчас есть готовые дашборды почти для всех инструментов нагрузочного тестирования.</p>
5
<p>Я работаю в Тинькофф, где мы активно используем инструмент<strong>Gatling</strong>, поэтому на его примере расскажем, как создать отчет вашей мечты и куда следует смотреть при его анализе. Также сразу хочу заметить, что почти все графики сегодня можно получать в режиме онлайн с помощью связки вашего инструмента с<strong>Grafana</strong>. Это наиболее удобный инструмент для создания отчетов "на лету", с помощью сконфигурированного заранее дашборда. Более того, это позволяет более быстро создать почти любой график на основе отправленных вами данных. Уже сейчас есть готовые дашборды почти для всех инструментов нагрузочного тестирования.</p>
6
<h2>Индикаторы</h2>
6
<h2>Индикаторы</h2>
7
<p>Показывают количественное и процентное распределение времени отклика запросов по группам. Графики этого типа удобно использовать, чтобы дать быструю предварительную оценку результатам тестирования без более глубокого анализа остальных графиков.</p>
7
<p>Показывают количественное и процентное распределение времени отклика запросов по группам. Графики этого типа удобно использовать, чтобы дать быструю предварительную оценку результатам тестирования без более глубокого анализа остальных графиков.</p>
8
<p>Пороги для перехода из группы в группу задаются заранее на основе экспертной оценки или SLA (нефункциональных требований). Например, может быть три группы:</p>
8
<p>Пороги для перехода из группы в группу задаются заранее на основе экспертной оценки или SLA (нефункциональных требований). Например, может быть три группы:</p>
9
<ul><li>отличная - время отклика менее 50 секунд;</li>
9
<ul><li>отличная - время отклика менее 50 секунд;</li>
10
<li>средняя - более 50, но менее 100 секунд;</li>
10
<li>средняя - более 50, но менее 100 секунд;</li>
11
<li>ужасная - более 100 секунд.</li>
11
<li>ужасная - более 100 секунд.</li>
12
</ul><p>В Gatling вы сами можете настроить пороги для перехода из группы в группу и их количество в файле<em>gatling.conf</em>. Графики такого типа лучше строить на основе методики APDEX (Application Performance Index).</p>
12
</ul><p>В Gatling вы сами можете настроить пороги для перехода из группы в группу и их количество в файле<em>gatling.conf</em>. Графики такого типа лучше строить на основе методики APDEX (Application Performance Index).</p>
13
<p>Также можно добавить индикатор с количеством/процентами ошибочных запросов.</p>
13
<p>Также можно добавить индикатор с количеством/процентами ошибочных запросов.</p>
14
<p>Метод APDEX позволяет использовать индикаторы в регрессионном тестировании для сравнения релизов: так сразу видно, насколько хуже или лучше стал релиз в общем. К сожалению, этого графика нет из коробки в MF LoadRunner и Apache JMeter, но его легко создать с помощью дашборда Grafana.</p>
14
<p>Метод APDEX позволяет использовать индикаторы в регрессионном тестировании для сравнения релизов: так сразу видно, насколько хуже или лучше стал релиз в общем. К сожалению, этого графика нет из коробки в MF LoadRunner и Apache JMeter, но его легко создать с помощью дашборда Grafana.</p>
15
<p>Продолжение статьи<a>здесь</a>.</p>
15
<p>Продолжение статьи<a>здесь</a>.</p>
16
16