Jmeter Timers: Constant, Gaussian Random, Uniform (Exemplu)

Cuprins:

Anonim

Ce sunt cronometrele?

În mod implicit, JMeter trimite solicitarea fără a face pauză între fiecare solicitare. În acest caz, JMeter ar putea copleși serverul de testare făcând prea multe solicitări într-o perioadă scurtă de timp.

Să ne imaginăm că trimiteți mii de solicitări către un server web testat în câteva secunde. Asta se intampla!

Temporizatorii permit JMeter să întârzie între fiecare cerere pe care o face un fir. Un cronometru poate rezolva problema de suprasarcină a serverului .

De asemenea, în viața reală, vizitatorii nu ajung la un site web în același timp, ci la intervale de timp diferite. Deci Timer va ajuta la imitarea comportamentului în timp real.

În acest tutorial, veți învăța

  • Temporizator constant
  • Gaussian Random Timer
  • Timer aleatoriu uniform
  • BeanShell Timer
  • Temporizator BSF
  • Temporizator JSR223
  • Cum se utilizează temporizatorul constant

Următoarele sunt câteva tipuri comune de cronometru în JMeter

Temporizator constant:

Temporizatorul constant întârzie fiecare solicitare a utilizatorului pentru aceeași perioadă de timp.

Temporizator aleatoriu gaussian:

Temporizatorul aleatoriu Gauss întârzie fiecare solicitare a utilizatorului pentru o perioadă aleatorie de timp.

Parametri:

Atribut Descriere
Nume Numele descriptiv pentru acest cronometru care este afișat în copac
Abateri (milisecunde) Un parametru al funcției de distribuție gaussiană
Offset de întârziere constantă (milisecunde) Valoare suplimentară în milisecunde

Deci întârzierea totală este descrisă ca în figura de mai jos:

Timer aleatoriu uniform:

Temporizatorul uniform aleatoriu întârzie fiecare solicitare a utilizatorului pentru o perioadă aleatorie de timp.

Parametri:

Atribut

Descriere

Nume

Numele descriptiv pentru acest cronometru care este afișat în copac

Întârziere aleatorie maximă

Numărul maxim aleatoriu de milisecunde de întârziat.

Offset de întârziere constantă (milisecunde)

Valoare suplimentară în milisecunde

Întârzierea totală este suma valorii aleatorii și a valorii de compensare.

BeanShell Timer

Temporizatorul BeanShell poate fi utilizat pentru a genera un timp de întârziere între fiecare solicitare a utilizatorului.

Temporizator BSF

Temporizatorul BSF poate fi utilizat pentru a genera o întârziere între fiecare solicitare a utilizatorului utilizând un limbaj de scriptare BSF.

Temporizator JSR223

Temporizatorul JSR223 poate fi folosit pentru a genera o întârziere între fiecare cerere de utilizator utilizând un limbaj de script JSR223

Cum se utilizează temporizatorul constant

În acest exemplu, veți utiliza Timer constant pentru a seta o întârziere fixă între solicitările utilizatorilor către google.com.

Să începem cu un script de test simplu

  1. JMeter creează o cerere de utilizator către http://www.google.com de 100 de ori
  2. Întârzierea între fiecare solicitare a utilizatorului este de 5000 ms

Iată foaia de parcurs pentru acest exemplu practic:

Pre-condiție:

Noi reutiliza Etapa 1 și Etapa 2 în testele de performanta JMeter tutorial.

Pasul 1) Adăugați un grup de fire

Faceți clic dreapta pe Planul de testare și adăugați un nou grup de fire: Adăugați -> Fire (Utilizatori) -> Grup de fire

În panoul de control Thread Group, introduceți Thread Properties după cum urmează

Această setare permite JMeter să creeze o solicitare de utilizator către http://www.google.com de 100 de ori

Pasul 2) Adăugați elemente JMeter

  • Adăugați cerere HTTP implicită
  • Adăugați o solicitare HTTP

Pasul 3) Adăugați temporizator constant

Faceți clic dreapta pe Thread Group -> Timer -> Constant Timer

Configurarea întârzierii firului de 5000 de milisecunde

Pasul 4) Adăugați rezultatele vizualizării în tabel

Vizualizați rezultatele în tabel afișează rezultatul testului în format tabel.

Faceți clic dreapta pe Adăugare -> Ascultător -> Vizualizați rezultatul în tabel

Vizualizați rezultatele în tabel se afișează ca în figura de mai jos

Pasul 5) Rulați testul

Când sunteți gata să rulați un test, faceți clic pe butonul Executare din bara de meniu sau pe tasta scurtă Ctrl + R

Acesta este rezultatul acestui test

De exemplu, în figura de mai sus, să analizăm proba 2

  • Ora de începere este 22: 05: 01.866
  • Durata eșantionului eșantionului 2 este de 172 ms
  • Temporizator constant : 5000 ms (așa cum este configurat)
  • Ora de încheiere a acestui eșantion este = 22: 05: 01.866 + 172 + 5000 = 22: 05: 07.038

Deci eșantionul 3 ar trebui să înceapă la ora 22: 05: 07.039 (așa cum se arată în figura de mai sus)

Întârzierea fiecărei probe este de 5000 ms

Dacă schimbați temporizatorul constant este zero , veți vedea că rezultatul este modificat

Să analizăm eșantionul 1

  • Ora de începere este 22: 17: 39.141
  • Durata eșantionului eșantionului 2 este de 370 ms
  • Timer constant : 0 ms (așa cum este configurat)
  • Ora de încheiere a acestui eșantion este = 22: 17: 39.141+ 370 + 0 = 22: 17: 39.511

Deci eșantionul 2 ar trebui să înceapă la ora 22: 17: 39.512 (Afișat în figura de mai sus)

Depanare:

Dacă vă confruntați cu problema în timp ce executați scenariul de mai sus ... faceți următoarele

  1. Verificați dacă vă conectați la internet prin intermediul unui proxy. Dacă da, eliminați proxy-ul.
  2. Deschideți o nouă instanță a JMeter
  3. Deschideți TimerTestPlan.jmx în Jmeter
  4. Faceți dublu clic pe Grup de fire -> Vizualizați rezultatul în tabel
  5. Rulați testul