Uvod u ispitivanje performansi pomoću JMetera

1. Pregled

U ovom ćemo članku koristiti Apache JMeter za konfiguriranje i pokretanje testova performansi.

2. Postavljanje JMetera

Preuzmimo JMeter, raspakirajte ga, idite na kanta za smeće mapu i pokrenite izvršnu datoteku (*.šišmiš za Windows i *.šš za Linux / Unix).

Dalje, samo trebamo dodati ovu mapu u varijablu okruženja puta kako bi joj bila dostupna iz naredbenog retka.

Najstabilnija verzija u vrijeme pisanja ovog članka je 3.3 - najnoviju verziju možemo provjeriti ovdje.

3. Stvaranje JMeter skripti

Sada napišimo našu prvu JMeter skriptu (datoteka koja sadrži tehnički opis naših testova).

Ovaj API je jednostavna aplikacija SpringBoot koja izlaže REST API.

Ažurirajmo Plan ispitivanja jedan i prvo mu promijenite ime, a zatim dodajte a Skupina niti.

A Skupina niti omogućuje nam poznavanje korisničkog tijeka i simulira njihovu interakciju s aplikacijom, desnim klikom na naziv naše skripte na GUI-ju i slijedite odabrani izbornik:

Sada idemo na dio za konfiguraciju Skupina niti, gdje paralelno određujemo broj korisnika koji upućuju zahtjeve našoj aplikaciji:

Ovdje smo naveli parametre poput:

Ime: ime koje želimo dati skupini niti

Broj niti (korisnika): broj paralelnih korisnika

Vrijeme nabiranja: vrijeme potrebno za prelazak s 0 na deklarirani broj korisnika

Broj petlji: broj ponavljanja

Dodajte znak HTTP zahtjev jer je ona koju ćemo simulirati kao da dolazi od svakog od 5 korisnika.

Napunimo podatke kako bismo se obratili našem API-ju opisanom gore kao na donjoj slici:

Samo popunjavamo adresu web mjesta, priključak i određeni put.

Dalje, simulirajmo zahtjeve korisnika nakon dodavanja a Pogledajte stablo rezultata (Koristiti Pogledajte rezultate u tablici ako su rezultati popis zapisa) slijedeći izbornik “Dodaj> Slušatelj ”.

Pritisnite zelenu strelicu desno na vrhu da biste pokrenuli test i vidjeli podatke o odgovoru:

Detaljniji prikaz odgovora možemo vidjeti na Rezultat uzorkovanja tab.

Završimo dodavanjem a Trajanje Tvrdnja u HTTP zahtjev, pa će se svaki zahtjev koji traje duže od deset milisekundi smatrati neuspjelim testom:

Nakon ponovnog pokretanja testa, vidimo da ima nekih (ovdje je 3) korisnika koji ne mogu dobiti popise učenika za manje od deset milisekundi:

Spremimo sada test s proširenjem .jmx u mapi resursa API-ja.

Dostupno je više elemenata za konfiguriranje naše testne datoteke:

  • JDBC zahtjev: korisno za slanje JDBC zahtjeva (SQL upit) u bazu podataka, prije nego što ga upotrijebimo moramo postaviti element konfiguracije JDBC veze
  • XML tvrdnja: provjerava jesu li podaci o odgovoru ispravno ispravnog XML dokumenta
  • Utvrđivanje veličine: tvrdi da odgovor sadrži pravi broj bajtova
  • JMS Publisher: za objavljivanje poruka na zadani cilj (temu / red) slijedeći J2EE specifikaciju za razmjenu poruka

Sve dostupne komponente detaljno su opisane u korisničkom priručniku.

4. Pokrenite JMeter testove

Postoje dva načina za pokretanje JMeter testova, jedan od njih sastoji se od upotrebe dostupnog dodatka Maven, a drugi samostalne JMeter aplikacije u načinu koji nije GUI.

U svakom slučaju, obojica moraju znati gdje doći do JMeter skripte koju smo ranije konfigurirali.

4.1. Dodatak JMeter Maven

Dodatak JMeter Mavenje Maven dodatak koji omogućuje pokretanje JMeter testova kao dio naše gradnje; njegova posljednja verzija trenutno je 2.6.0 koja je kompatibilna s Apache JMeter 3.3.

Dodajmo je u pom.xml našeg projekta:

 com.lazerycode.jmeter jmeter-maven-plugin 2.6.0 jmeter-tests jmeter $ {project.basedir} / src / main / resources $ {project.basedir} / src / main / resources 

Nakon ovoga možemo pokrenuti sve testove s mvn provjeriti ili samo oni JMetrovi sa mvn jmeter: jmeter; evo izlaza konzole naredbe:

Napomena: Ovdje smo naveli direktorij u kojem se nalaze naši testovi u projektu, bilo zadani ($ {project.basedir} / src / test / jmeter) bit će odabran; na isti je način konfiguriran direktorij rezultata, inače će zadani biti $ {project.basedir} / target / jmeter / results.

Cjelokupna dokumentacija o dodatku dostupna je ovdje.

4.2. Način koji nije GUI

Drugi način da to učinite putem izvršne datoteke JMeter, pod pretpostavkom da je dostupan putem naredbenog retka, možemo to učiniti:

jmeter -Jjmeter.save.saveservice.output_format = xml

-n -t src / main / resources / JMeter.jmx -l src / main / resources / JMeter.jtl

Postavljamo XML kao izlazni format, koji ispunjava točnu testnu datoteku i onu s rezultatom.

Napomena: preporuča se ne koristiti GUI način za testiranje učitavanja, već samo za stvaranje testa i otklanjanje pogrešaka.

5. Zaključak

U ovom smo brzom uputstvu postavili Apache JMeter na aplikaciji SpringBoot za pokretanje testova performansi s Maven dodatkom, dok praktički gledamo kako dizajnirati osnovni test izvedbe.

Kao i uvijek, izvorni kod za ovaj članak možete pronaći na GitHubu.