Подтвердить что ты не робот

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

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

4b9b3361

Ответ 1

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

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

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

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

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

Ответ 2

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

enter image description here

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

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

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

enter image description here

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

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

enter image description here

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

enter image description here

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

enter image description here

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

enter image description here

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

enter image description here

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

  • λ (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 секунд.

enter image description here

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

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

enter image description here

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

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

enter image description here

Ответ 3

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

См. generating-dashboard

Ответ 4

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

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

    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
    
  • См. общее время ответа, оно не должно превышать ожидаемые критерии отклика. См. Ниже изображение. Мое ожидание - время отклика не должно превышать 525 микросекунд, но некоторые запросы пересекают его. Найдите такие запросы, которые требуют времени.

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

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

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

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

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

Ответ 5

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

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

Ответ 6

Чтобы проанализировать результаты JMeter, вы можете использовать -

1) Слушатели в JMeter - узнайте, как использовать его здесь - https://www.blazemeter.com/blog/jmeter-listeners-part-1-basic-display-formats

2) Blazemeter Sense - узнайте, как использовать его здесь - https://www.blazemeter.com/blog/how-analyze-results-load-test-using-blazemeter-0

3) Панель отчетов - узнайте, как ее использовать здесь - https://performanceengineeringsite.wordpress.com/2017/12/12/generating-html-dashboard-report-in-apache-jmeter/