JMeter Cronometru: Constant, Gaussian, Aleator uniform

⚡ Rezumat inteligent

JMeter Temporizatoarele introduc o întârziere controlată între cereri, astfel încât un fir de execuție se întrerupe ca un utilizator real, prevenind supraîncărcarea serverului și reproducând un timp de gândire realist în tipurile Constant, Gaussian, Uniform și bazate pe scripting.

  • ⏸️ Temporizator constant: Adaugă aceeași întârziere fixă ​​la fiecare solicitare.
  • 🔔 Cronometru aleatoriu gaussian: Întârzieri printr-o curbă de distribuție normală.
  • 📏 Cronometru aleatoriu uniform: Întârzieri aleatorii într-un interval setat.
  • 📝 Temporizatoare de scriptare: BeanShell, BSF și JSR223 adaugă întârzieri personalizate.
  • 🤖 Asistență AI: Modelele de inteligență artificială calculează timpul pornind de la traficul real.

JMeter Cronometre

Ce sunt cronometrele?

În mod implicit, JMeter trimite cererea fără să se întrerupă între fiecare cerere. In acest caz, JMeter ar putea copleși serverul dvs. de testare făcând prea multe solicitări într-un interval scurt de timp.

Să ne imaginăm că trimiți mii de cereri către un server web testat în câteva secunde. Iată ce se întâmplă!

Temporizatoarele in JMeter

Temporizatoarele permit JMeter la întârziere între fiecare cerere pe care o face un fir. Un cronometru poate rezolva serverul suprasarcină problemă.

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.

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

Temporizator constant

Temporizatorul constant întârzie fiecare cerere de utilizator pentru acelaşi cantitate de timp.

Temporizator constant in JMeter

Temporizator aleatoriu gaussian

Gaussian temporizatorul aleatoriu întârzie fiecare cerere de utilizator pentru a aleator cantitate de timp.

Temporizator aleatoriu gaussian în JMeter

parametrii

Atribut Descriere
Nume DescriptNumele actual pentru acest cronometru care este afișat în arbore
Abateri (milisecunde) A parametru a funcției de distribuție gaussiană
Decalaj constant de întârziere (milisecunde) Suplimentar valoare în milisecunde

Deci, întârzierea totală este descrisă după cum urmează:

Temporizator aleatoriu gaussian în JMeter

Cronometru uniform aleatoriu

Temporizatorul uniform aleatoriu întârzie fiecare cerere de utilizator pentru o perioadă de timp aleatorie.

Temporizator aleator uniform în JMeter

parametrii

Atribut Descriere
Nume DescriptNumele actual pentru acest cronometru care este afișat în arbore
Întârziere aleatorie maximă Număr maxim aleatoriu de milisecunde de întârziat.
Decalaj constant de întârziere (milisecunde) Suplimentar valoare în milisecunde

Întârzierea totală este suma valorii aleatoare și a valorii offset.

Cronometru BeanShell

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

BSF Timer

Cronometrul BSF poate fi folosit pentru a genera o întârziere între fiecare solicitare a utilizatorului folosind a BSF limbaj de scripting.

Cronometru JSR223

Cronometrul JSR223 poate fi folosit pentru a genera o întârziere între fiecare solicitare a utilizatorului folosind a JSR223 scripting language

Cum să utilizați temporizatorul constant

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

Să începem cu un script de testare simplu

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

Aici este foaie de parcurs pentru acest exemplu practic:

Folosiți temporizatorul constant în JMeter

Pre-condiționare

We reutilizarea Pasul 1 și Pasul 2 din tutorial JMeter Test de performanta.

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

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

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

Adăugați un grup de fire

Această setare permite JMeter crea unu cererea utilizatorului către http://www.google.com in 100 ori

Pasul 2) Adăugați JMeter element

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

Pasul 3) Adăugați temporizator constant

Faceți clic dreapta Grup de fire -> Timer -> Temporizator constant

Adăugați temporizator constant

Configurarea întârzierii firului de 5000 milisecunde

Adăugați temporizator constant

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

Vizualizare rezultate în tabel afișează rezultatul testului în format tabel.

Click dreapta Adăuga -> ascultător ->Vedeți rezultatul în tabel

Adăugați rezultatele vizualizării în tabel

Vizualizare rezultate în tabel este afișat ca figura de mai jos

Adăugați rezultatele vizualizării în tabel

Pasul 5) Rulați testul

Când sunteți gata să executați un test, faceți clic pe Fuga butonul din bara de meniu sau apăsați Ctrl + R

Acesta este rezultatul acestui test

Rulați Testul

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

  • Începeți timp este 22:05:01.866
  • Timp de probă din Eșantionul 2 este de 172 ms
  • Temporizator constant: 5000 ms (configurat)
  • Ora de sfârșit din această probă este = 22:05:01.866 + 172 + 5000 = 22:05:07.038

Deci, Eșantionul 3 ar trebui să înceapă în momentul în care este 22:05:07.039 (Așa cum se arată în figura de mai sus)

întârziere din fiecare probă este 5000 ms

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

Rulați Testul

Să analizăm Exemplu 1

  • Începeți timp este 22:17:39.141
  • Timp de probă din Eșantionul 2 este de 370 ms
  • Temporizator constant : 0 ms (configurat)
  • Ora de sfârșit din această probă este = 22:17:39.141+ 370 + 0 = 22:17:39.511

Asa ca Exemplu 2 ar trebui să înceapă în momentul în care este 22:17:39.512 (Arată în figura de mai sus)

Depanare

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

  1. Verificați dacă vă conectați la internet printr-un proxy. Dacă da, eliminați proxy-ul.
  2. Deschideți o nouă instanță de JMeter
  3. Deschideți TimerTestPlan.jmx in JMeter
  4. Double Faceți clic pe Grup de fire -> Vedeți rezultatul în tabel
  5. Rulați testul

Întrebări frecvente

Gândește-te că timpul este pauza pe care o face un utilizator între acțiuni, reprodusă de JMeter cronometre.

Un cronometru se aplică fiecărui sampler din domeniul său de aplicare; la nivel de grup de fire de execuție, întârzie toate cererile de acolo.

Temporizatorul constant adaugă o întârziere fixă; Temporizatorul uniform aleatoriu adaugă o întârziere aleatorie într-un interval.

Da. Inteligența artificială analizează jurnalele de trafic și recomandă distribuții ale timpului de gândire care corespund ritmului real al utilizatorului. JMeter.

Inteligența artificială învață modele de utilizare, generează un ritm realist și semnalează anomalii, ceea ce face ca testele de încărcare să fie mai predictive.

Rezumați această postare cu: