Таймеры Jmeter: постоянные, случайные по Гауссу, равномерные (пример)

Содержание:

Anonim

Что такое таймеры?

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

Представьте, что вы отправляете тысячи запросов на тестируемый веб-сервер за несколько секунд. Вот что происходит!

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

Кроме того, в реальной жизни посетители попадают на сайт не одновременно, а через разные промежутки времени. Таким образом, Timer поможет имитировать поведение в реальном времени.

В этом руководстве вы узнаете

  • Постоянный таймер
  • Гауссовский случайный таймер
  • Единый случайный таймер
  • Таймер BeanShell
  • BSF Таймер
  • Таймер JSR223
  • Как использовать постоянный таймер

Ниже приведены некоторые распространенные типы таймера в JMeter.

Постоянный таймер:

Постоянный таймер задерживает каждый запрос пользователя на одно и то же время.

Гауссовский случайный таймер:

Гауссовский случайный таймер задерживает каждый пользовательский запрос на случайное количество времени.

Параметры:

Атрибут Описание
Имя Описательное имя для этого таймера, которое отображается в дереве
Отклонения (миллисекунды) Параметр гауссовой функции распределения
Постоянное смещение задержки (миллисекунды) Дополнительное значение в миллисекундах

Таким образом, общая задержка описана на рисунке ниже:

Единый случайный таймер:

Единый случайный таймер задерживает каждый пользовательский запрос на случайное количество времени.

Параметры:

Атрибут

Описание

Имя

Описательное имя для этого таймера, которое отображается в дереве

Максимум случайной задержки

Максимальное случайное количество миллисекунд для задержки.

Постоянное смещение задержки (миллисекунды)

Дополнительное значение в миллисекундах

Общая задержка - это сумма случайного значения и значения смещения.

Таймер BeanShell

Таймер BeanShell можно использовать для генерации времени задержки между каждым запросом пользователя.

BSF Таймер

Таймер BSF может использоваться для создания задержки между каждым запросом пользователя с использованием языка сценариев BSF.

Таймер JSR223

Таймер JSR223 может использоваться для генерации задержки между каждым запросом пользователя с использованием языка сценариев JSR223.

Как использовать постоянный таймер

В этом примере вы будете использовать постоянный таймер, чтобы установить фиксированную задержку между пользовательскими запросами на google.com.

Начнем с простого тестового скрипта

  1. JMeter создает один пользовательский запрос на http://www.google.com 100 раз.
  2. Задержка между каждым запросом пользователя составляет 5000 мс.

Вот дорожная карта для этого практического примера:

Предварительное условие:

Мы повторно используем Шаг 1 и Шаг 2 в учебнике JMeter Performance Testing.

Шаг 1) Добавьте группу тем

Щелкните правой кнопкой мыши план тестирования и добавьте новую группу потоков: Добавить -> Потоки (пользователи) -> Группа потоков.

На панели управления группой потоков введите Свойства потока, как показано ниже.

Этот параметр позволяет JMeter создавать один пользовательский запрос на http://www.google.com за 100 раз.

Шаг 2) Добавьте элементы JMeter

  • Добавить HTTP-запрос по умолчанию
  • Добавить HTTP-запрос

Шаг 3) Добавьте постоянный таймер

Щелкните правой кнопкой мыши Thread Group -> Timer -> Constant Timer

Настройка задержки потока 5000 миллисекунд

Шаг 4) Добавьте результаты просмотра в таблицу

Просмотр результатов в таблице отображает результат теста в виде таблицы.

Щелкните правой кнопкой мыши Добавить -> Слушатель -> Просмотреть результат в таблице

Просмотр результатов в таблице отображается, как показано на рисунке ниже.

Шаг 5) Запустите тест

Когда вы будете готовы запустить тест, нажмите кнопку «Выполнить» в строке меню или короткую клавишу Ctrl + R.

Это результат этого теста

Например, на приведенном выше рисунке давайте проанализируем Образец 2.

  • Время начала 22: 05: 01.866
  • Время выборки 2 составляет 172 мс.
  • Постоянный таймер : 5000 мс (как настроено)
  • Время окончания этого примера = 22: 05: 01.866 + 172 + 5000 = 22: 05: 07.038

Таким образом, Пример 3 должен начаться в 22: 05: 07.039 (как показано на рисунке выше).

Задержка каждого образца составляет 5000 мс

Если вы измените постоянный таймер на ноль , вы увидите, что результат изменился.

Давайте проанализируем Образец 1

  • Время начала 22: 17: 39.141
  • Время выборки 2 составляет 370 мс.
  • Постоянный таймер : 0 мс (как настроено)
  • Время окончания этого примера = 22: 17: 39.141+ 370 + 0 = 22: 17: 39.511

Таким образом, образец 2 должен начаться в момент времени 22: 17: 39.512 (показано на рисунке выше).

Исправление проблем:

Если вы столкнулись с проблемой при выполнении описанного выше сценария… выполните следующие действия.

  1. Проверьте, подключаетесь ли вы к Интернету через прокси. Если да, удалите прокси.
  2. Откройте новый экземпляр JMeter
  3. Откройте TimerTestPlan.jmx в Jmeter
  4. Дважды щелкните группу потоков -> Просмотреть результат в таблице
  5. Запустить тест