Учебники

6) Таймеры

Какие таймеры?

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

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

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

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

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

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

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

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

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

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

Gaussian Random Timer:

Gaussian random timer delays each user request for a random amount of time.

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

Parameters:

Attribute Description
Name Descriptive name for this timer that is shown in the tree
Deviations (milliseconds) A parameter of Gaussian Distribution Function
Constant Delay Offset (milliseconds) Additional value in milliseconds

So the total delay is described as below figure:

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

Uniform Random Timer:

Uniform random timer delays each user request for a random amount of time.

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

Parameters:

Attribute

Description

Name

Descriptive name for this timer that is shown in the tree

Random Delay Maximum

Maximum random number of milliseconds to delay.

Constant Delay Offset (milliseconds)

Additional value in milliseconds

The total delay is the sum of the random value and the offset value.

BeanShell Timer

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

BSF Таймер

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

Таймер JSR223

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

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

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

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

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

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

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

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

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

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

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

На панели управления «Группа потоков» введите «Свойства потока» следующим образом.

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

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

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

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

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

Щелкните правой кнопкой мыши группу потоков ->  Таймер  ->  Постоянный таймер

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

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

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

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

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

Щелкните правой кнопкой мыши Add  ->  Listener  ->  View Result in Table

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

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

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

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

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

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

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

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

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

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

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

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

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

Давайте проанализируем образец 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. Запустить тест