Как проанализировать результат JMeter?

Я новичок в инструменте JMeter. Кто-нибудь может мне помочь для лучшего анализа отчетов JMeter?

5 ответов

Просто список связанных ссылок, которые вы можете найти полезными:

Родные графики:

Бесплатные открытые решения для автоматизированных графиков:

Рецепты с индивидуальной разработкой:

Сторонние решения:

Есть 3 теста, которые должны выполняться при тестировании производительности, всегда должны быть базовый уровень, пиковый тест и стресс-тест. Эти тесты связаны друг с другом из-за закона маленького. Долгосрочное среднее количество клиентов в стабильной системе L равно долгосрочному среднему эффективному коэффициенту прибытия λ, умноженному на время, которое клиент проводит в системе, Вт; или выражается алгебраически: L = λW.,

Jmeter уже предоставляет средства для проверки этих значений, стандартный плагин предоставляет графики для времени отклика, попаданий, а также пропускной способности. Невозможно напрямую определить, сколько пользователей было активным в системе, это не то же самое количество одновременных пользователей, что и активных пользователей. Плагинов достаточно для создания отчетов, но они не позволяют контролировать большую часть презентации, я буду использовать некоторые графики, созданные с использованием Python(они добавляют метки и имеют ось 2 y).

Базовый тест: этот случай является частным случаем закона, в этом случае активные пользователи являются постоянными, и это один, а затем:

  • L = λW
  • 1 = λW
  • 1 / W = λ

Если приложение запускает один и тот же фрагмент кода, время отклика со временем стабилизируется, тогда скорость поступления также будет постоянной со временем.

Есть сервис, который ничего не делает, кроме как подождать некоторое время, чтобы пройти:

2 секунды обслуживания: скорость прибытия была 1/2TPS.

3 секунды обслуживания: скорость прибытия была 1/3TPS.

Пиковый тест: это не частный случай, в данном случае нагрузка увеличивается до тех пор, пока она не превысит производительность системы, поскольку нагрузка превышает пропускную способность, время отклика увеличивается. Во время теста число потоков должно увеличиваться достаточно быстро, чтобы восстановиться после длительного времени отклика.

На этот раз вместо того, чтобы работать на пике, я буду нагружать систему большей нагрузкой, чем она способна выдержать в течение всего теста. Чтобы контролировать пропускную способность сервиса:

Активные транзакции - это те, которые покинули инжектор, но не получили ответа, это транзакции, которые находятся в очереди в некотором месте в системе.

  • λ (t) = c, T (t) = k; как нагрузка, так и пропускная способность постоянны во времени.
  • L = Σλ - ΣT = ct - kt; Активные транзакции - это разница между совокупной нагрузкой и совокупной пропускной способностью.
  • L = (c - k) t
  • λW = (c - k) t
  • CW (t) = (c - k) t
  • W (t) = t (c - k) / c

Поскольку время отклика растет, как и у активных пользователей, нам понадобится инжектор для создания новых потоков, так как быстро требуются новые соединения, большинство потоков пула будут заняты.

Скорость поступления 2TPS, пропускная способность 1 TPS:

  • Функция времени отклика составляет 1/2т
  • Инжектор нагнетает систему в течение 300 секунд.
  • Тест длился 600 секунд.

Скорость поступления 4TPS, пропускная способность 1 TPS:

  • Функция времени отклика 3/4t
  • Инжектор нагнетает систему в течение 300 секунд.
  • Тест длился 1200 секунд.

Скорость поступления 6TPS, пропускная способность 5 TPS:

  • Функция времени отклика составляет 1/6 т
  • Инжектор нагнетает систему в течение 300 секунд.
  • Тест длился 360 секунд.

Проще говоря, если вы хотите проанализировать свой отчет JMeter...

  1. Начните с загрузки процессора и оперативной памяти сервера. Когда вы запустите тест производительности на своем сервере, посмотрите, сколько ЦП и ОЗУ используется текущим тестом.
    Выполните следующую команду на сервере размещенного сайта; это создаст файл журнала использования процессора.

    while true; do 
      ( echo "%CPU %MEM ARGS $(date)" &&
        ps -e -o pcpu,pmem,args --sort=pcpu | cut -d" " -f1-5 |
        tail ) >> ps.log
      sleep 1
    done
    
  2. Смотрите общее время отклика, оно не должно превышать ваши ожидаемые критерии времени отклика. Смотрите изображение ниже. Я ожидаю, что время отклика не должно превышать 525 микросекунд, но некоторые запросы пересекают его. Найдите такие запросы, которые требуют времени.

    Общее время отклика:

    общее время отклика

  3. Посмотрите Транзакцию в секунду, сколько транзакций сделано в секунду, и есть ли какое-либо падение в тестовом периоде времени?

  4. Просмотрите сводный отчет, Среднее время и максимальное время, чтобы увидеть, какие запросы занимают больше всего времени. В настоящее время многие слушатели доступны в JMeter как дополнения или встроены, но это основные вещи, на которые следует обратить внимание, чтобы уметь правильно угадывать, что происходит. И вы можете использовать другие отчеты, как это.

Следуйте за моим блогом для получения более подробной информации https://softwaretesterfriend.blogspot.in/

Начиная с версии 3.0, JMeter включает динамический HTML-отчет, который может быть сгенерирован либо в конце нагрузочного теста, либо из файла результатов.

Смотрите генерирующую панель

Для анализа результатов JMeter вы можете использовать

  1. Слушатели в JMeter
  2. Blazemeter Sense
  3. Панель инструментов отчетов

Если вы новичок в JMeter, понимание слушателей JMeter и других компонентов вам поможет. проверьте руководство - https://www.youtube.com/watch?v=FfDVIklNjgw

В дополнение ко всем остальным ответам: есть хороший сайт BlazeMeter, где вы можете загрузить свой файл результатов теста (.jtl), и он будет генерировать для него все виды (интерактивных) отчетов. Он даже анализирует его для вас и указывает, когда возникает первая ошибка, что такое точка насыщения и т. Д. https://sense.blazemeter.com/gui/

Если у вас есть инфраструктура графита / графана, я могу рекомендовать добавить Backend Listener в проект. Он будет отправлять метрики в режиме реального времени на графитовый сервер, и вы можете контролировать тест в графите (или графане).

Другие вопросы по тегам