Što su mjerači vremena?
Prema zadanim postavkama, JMeter šalje zahtjev bez pauze između svakog zahtjeva. U tom slučaju, JMeter mogao pobijediti svoj probni server tako što previše zahtjeva u kratkom vremenu.
Neka zamisliti da šaljete tisuće zatražiti na web server pod test u nekoliko sekundi. To se događa!
Tajmeri omogućuju JMeteru da odgodi između svakog zahtjeva koji nit postavi. Tajmer može riješiti problem preopterećenja poslužitelja .
Također, u stvarnom životu posjetitelji ne dolaze na web stranicu istodobno, već u različitim vremenskim intervalima. Tako će Timer pomoći oponašati ponašanje u stvarnom vremenu.
U ovom ćete tutorijalu naučiti
- Stalni mjerač vremena
- Gaussov slučajni mjerač vremena
- Jedinstveni slučajni mjerač vremena
- Tajmer BeanShell
- BSF mjerač vremena
- JSR223 Tajmer
- Kako koristiti konstantni mjerač vremena
Slijede neke od uobičajenih vrsta mjerača vremena u JMeteru
Stalni mjerač vremena:
Stalno odbrojavanje odgađa svaki zahtjev korisnika na isto vrijeme.
Gaussov slučajni mjerač vremena:
Gaussov slučajni mjerač vremena odgađa svaki korisnički zahtjev na slučajno vrijeme.
Parametri:
Atribut | Opis |
---|---|
Ime | Opisni naziv za tajmer koji je prikazan na stablu |
Odstupanja (milisekunde) | Parametar od Gaussove funkcije razdiobe |
Pomak konstantnog kašnjenja (milisekunde) | Dodatna vrijednost u milisekundama |
Dakle, ukupno kašnjenje opisano je na sljedećoj slici:
Jedinstveni slučajni mjerač vremena:
Ujednačeni slučajni odbrojavač odgađa svaki korisnički zahtjev na slučajno određeno vrijeme.
Parametri:
Atribut |
Opis |
---|---|
Ime |
Opisni naziv za tajmer koji je prikazan na stablu |
Slučajno kašnjenje maksimum |
Maksimalni slučajni broj milisekundi za kašnjenje. |
Pomak konstantnog kašnjenja (milisekunde) |
Dodatna vrijednost u milisekundama |
Ukupna odgoda je zbroj slučajne vrijednosti i vrijednosti pomaka.
Tajmer BeanShell
BeanShell Timer se može koristiti za generiranje vremena kašnjenja između svakog korisničkog zahtjeva.
BSF mjerač vremena
BSF tajmer može se koristiti za generiranje kašnjenja između svakog korisničkog zahtjeva koristeći BSF skriptni jezik.
JSR223 Tajmer
JSR223 timer se može koristiti za generiranje kašnjenja između svakog korisničkog zahtjeva pomoću JSR223 skriptnog jezika
Kako koristiti konstantni mjerač vremena
U ovom ćete primjeru pomoću stalnog odbrojavanja postaviti fiksno kašnjenje između korisničkih zahtjeva na google.com.
Krenimo s jednostavnom testnom skriptom
- JMeter kreira jedan korisnički zahtjev na http://www.google.com 100 puta
- Kašnjenje između svakog korisničkog zahtjeva je 5000 ms
Evo mape puta za ovaj praktični primjer:
Preduvjet:
Mi ponovno koristiti na korak 1 i korak 2 u udžbenik JMeter Ispitivanje.
Korak 1) Dodajte grupu niti
Desnom tipkom miša kliknite testni plan i dodajte novu grupu niti: Dodaj -> Teme (korisnici) -> Grupa niti
Na upravljačkoj ploči grupe niti unesite Svojstva niti na sljedeći način
Ova postavka omogućuje JMeter stvoriti jedan zahtjev korisniku http://www.google.com u 100 puta
Korak 2) Dodajte elemente JMeter
- Dodaj zadani HTTP zahtjev
- Dodajte HTTP zahtjev
Korak 3) Dodajte konstantni mjerač vremena
Desnom tipkom miša kliknite Grupa niti -> Odbrojavanje -> Stalno odbrojavanje
Konfiguriranje odgode navoja od 5000 milisekundi
Korak 4) Dodajte rezultate prikaza u tablicu
Pregled rezultata u tablici prikazuje rezultate testa u formatu tablice.
Desnom tipkom miša kliknite Dodaj -> Slušatelj -> Prikaži rezultat u tablici
Pogledajte rezultate u prikazima tablice kao na donjoj slici
Korak 5) Pokrenite test
Kad ste spremni za pokretanje testa, kliknite gumb Pokreni na traci izbornika ili kratku tipku Ctrl + R
Ovo je rezultat ovog testa
Na primjer, na gornjoj slici, analizirajte uzorak 2
- Vrijeme početka je 22: 05: 01.866
- Vrijeme uzorkovanja uzorka 2 iznosi 172 ms
- Stalni tajmer : 5000 ms (kako je konfigurirano)
- Vrijeme završetka ovog uzorka je = 22: 05: 01.866 + 172 + 5000 = 22: 05: 07.038
Dakle, Uzorak 3 trebao bi započeti u vrijeme 22: 05: 07.039 (Kao što je prikazano na gornjoj slici)
Kašnjenje svakog uzorka je 5000 ms
Ako promijenite Konstant timer na nulu , vidjet ćete da se rezultat promijenio
Neka analizira uzorak 1
- Vrijeme početka je 22: 17: 39.141
- Vrijeme uzorkovanja uzorka 2 je 370 ms
- Stalni tajmer : 0 ms (kako je konfigurirano)
- Vrijeme završetka ovog uzorka je = 22: 17: 39.141+ 370 + 0 = 22: 17: 39.511
Dakle, uzorak 2 trebao bi započeti u vrijeme 22: 17: 39.512 (prikazano na gornjoj slici)
Rješavanje problema:
Ako se suočite s problemom tijekom izvođenja gornjeg scenarija ... učinite sljedeće
- Provjerite povezujete li se s internetom putem proxyja. Ako je odgovor da, uklonite proxy.
- Otvorite novu instancu JMetera
- Otvorite TimerTestPlan.jmx u Jmetru
- Dvaput kliknite Grupica niti -> Prikaži rezultat u tablici
- Pokrenite test