Jmeter таймери: постоянна, гауссова произволна, равномерна (пример)

Съдържание:

Anonim

Какво представляват таймерите?

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

Нека си представим, че изпращате хиляди заявки до тестван уеб сървър за няколко секунди. Това се случва!

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

Също така, в реалния живот посетителите не пристигат на уебсайт наведнъж, а през различни интервали от време. Така Таймерът ще помогне да имитира поведението в реално време.

В този урок ще научите

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

Следват някои често срещани видове таймер в JMeter

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

Постоянният таймер забавя всяка потребителска заявка за същия период от време.

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

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

Параметри:

Атрибут Описание
Име Описателно име за този таймер, което е показано в дървото
Отклонения (милисекунди) А параметър на Гаусово разпределение на функциите
Постоянно отместване на забавяне (милисекунди) Допълнителна стойност в милисекунди

Така че общото забавяне е описано по-долу на фигурата:

Унифициран случаен таймер:

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

Параметри:

Атрибут

Описание

Име

Описателно име за този таймер, което е показано в дървото

Максимално закъснение

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

Постоянно отместване на забавяне (милисекунди)

Допълнителна стойност в милисекунди

Общото закъснение е сумата от случайната стойност и стойността на отместването.

Таймер на BeanShell

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

BSF таймер

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

JSR223 Таймер

Таймерът JSR223 може да се използва за генериране на закъснение между всяка потребителска заявка, използвайки скриптов език JSR223

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

В този пример ще използвате постоянен таймер, за да зададете фиксирано забавяне между потребителските заявки към google.com.

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

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

Ето пътната карта за този практически пример:

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

Ние повторно използване на етап 1 и етап 2 в урок JMeter тестване на работата.

Стъпка 1) Добавяне на група нишки

Щракнете с десния бутон върху тестовия план и добавете нова група нишки: Добавяне -> Нишки (потребители) -> Група нишки

В контролния панел на Thread Group въведете Thread Properties, както следва

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

Стъпка 2) Добавете елементи на JMeter

  • Добавяне на HTTP заявка по подразбиране
  • Добавете HTTP заявка

Стъпка 3) Добавете постоянен таймер

Щракнете с десния бутон на мишката върху група нишки -> Таймер -> Постоянен таймер

Конфигуриране на закъснение на резбата от 5000 милисекунди

Стъпка 4) Добавяне на резултати от изгледа в таблица

Преглед на резултатите в таблицата показва резултата от теста във формат на таблица.

Щракнете с десния бутон върху Добавяне -> Слушател -> Преглед на резултата в таблица

Преглед на резултатите в таблицата показва както е показано на фигурата по-долу

Стъпка 5) Изпълнете теста си

Когато сте готови да стартирате тест, щракнете върху бутона Run в лентата с менюта или кратък бутон Ctrl + R

Това е резултатът от този тест

Например, на горната фигура, нека анализираме проба 2

  • Началният час е 22: 05: 01.866
  • Времето за вземане на проба 2 е 172 ms
  • Постоянен таймер : 5000 ms (както е конфигуриран)
  • Крайното време на тази проба е = 22: 05: 01.866 + 172 + 5000 = 22: 05: 07.038

Така че Пример 3 трябва да започне в момента е 22: 05: 07.039 (Както е показано на горната фигура)

В забавянето на всяка проба е 5000 мс

Ако промените постоянния таймер е нула , ще видите, че резултатът е променен

Нека анализираме пробата 1

  • Началният час е 22: 17: 39.141
  • Времето за проба на проба 2 е 370 ms
  • Постоянен таймер : 0 ms (както е конфигуриран)
  • Крайното време на тази проба е = 22: 17: 39.141+ 370 + 0 = 22: 17: 39.511

Така че пробата 2 трябва да започне в момента 22: 17: 39.512 (показано на горната фигура)

Отстраняване на неизправности:

Ако се сблъскате с проблема, докато изпълнявате горния сценарий ... направете следното

  1. Проверете дали се свързвате с интернет чрез прокси сървър. Ако да, премахнете проксито.
  2. Отворете нов екземпляр на JMeter
  3. Отворете TimerTestPlan.jmx в Jmeter
  4. Щракнете двукратно върху Група нишки -> Преглед на резултата в таблица
  5. Стартирайте теста