Uvod u Gatling

1. Pregled

Gatling je a alat za ispitivanje opterećenja koji dolazi s izvrsnom podrškom HTTP protokol - što ga čini stvarno dobrim izborom za testiranje opterećenja bilo kojeg HTTP poslužitelju.

Ovaj kratki vodič pokazat će vam kako postaviti jednostavan scenarij za ispitivanje opterećenja an HTTP poslužitelju.

Gatling skripte za simulaciju napisane su u Scala, ali ne brinite - alat nam dolazi s GUI-jem koji nam omogućuje snimanje scenarija. Nakon što završimo sa snimanjem scenarija, GUI kreira Scala skripta koja predstavlja simulaciju.

Nakon pokretanja simulacije imamo spremni za prezentaciju HTML izvještaji.

Posljednje, ali ne najmanje važno, Gatlingova arhitektura je asinkroni. Ovakva nam arhitektura omogućuje da virtualne korisnike implementiramo kao poruke umjesto namjenskih niti, što ih čini vrlo jeftinima. Stoga pokretanje tisuća istodobnih virtualnih korisnika nije problem.

Također je vrijedno napomenuti da je zapravo glavni motor protokol agnostik, tako da je savršeno moguće implementirati podršku za druge protokole. Na primjer, Gatling trenutno također brodi JMS podrška.

2. Izrada projekta pomoću arhetipa

Iako svežnjeve Gatlinga možemo dobiti kao .zip odlučili smo koristiti Gatlingov Maven Arhetip. To nam omogućuje da integriramo Gatling i pokrenemo ga u IDE i olakšavaju održavanje projekta u sustavu za kontrolu verzija. Budite oprezni kao Gatling zahtijevaju JDK8.

U naredbeni redak upišite:

mvn arhetip: generirati

Zatim, kada se to zatraži:

Odaberite broj ili primijenite filtar (format: [groupId:] artifactId, sadrži velika i mala slova):

Tip:

gatling

Tada biste trebali vidjeti:

Odaberite arhetip: 1: daljinski -> io.gatling.highcharts: gatling-highcharts-maven-archetype (gatling-highcharts-maven-archetype)

Tip:

1

za odabir arhetipa, a zatim odaberite verziju koju ćete koristiti (odaberite najnoviju verziju).

Odaberite groupId, artefaktId, verzija i paket naziv za klase prije potvrde stvaranja arhetipa.

Završite uvozom arhetipa u IDE - na primjer u Scala IDE (zasnovan na Eclipseu) ili u IntelliJ IDEA.

3. Definirajte scenarij

Prije pokretanja snimača, moramo definirati scenarij. To će biti prikaz onoga što se stvarno događa kada korisnici kreću kroz web aplikaciju.

U ovom uputstvu koristit ćemo aplikaciju koju pruža tim Gatlinga u svrhu uzorkovanja i hostiranu na URL //computer-database.gatling.io

Naš jednostavni scenarij mogao bi biti:

  • Korisnik dolazi u aplikaciju.
  • Korisnik traži "amstrad".
  • Korisnik otvara jedan od povezanih modela.
  • Korisnik se vraća na početnu stranicu.
  • Korisnik prelistava stranice.

4. Konfiguriranje snimača

Prije svega pokrenite Snimač klase iz IDE-a. Jednom pokrenut, GUI vam omogućuje da konfigurirate kako će se zapisivati ​​zahtjevi i odgovori. Odaberite sljedeće opcije:

  • 8000 kao port za slušanje
  • org.baeldung.simulacija paket
  • SnimljenoSimulacija naziv klase
  • Slijediti preusmjeravanja? provjereno
  • Automatski referenti? provjereno
  • Prvo crna lista odabrana strategija filtriranja
  • . * \. css, . * \. js i . * \. ico na filtrima crne liste

Sada moramo konfigurirati naš preglednik da koristi definirani port (8000) odabran tijekom konfiguracije. Ovo je priključak na koji se naš preglednik mora povezati kako bi se Snimač je u stanju zabilježiti našu navigaciju.

Evo kako postupiti s Firefoxom, otvoriti Napredne postavke preglednika, a zatim otići na ploču Mreža i ažurirati postavke veze:

5. Snimanje scenarija

Sada kada je sve konfigurirano, možemo snimiti scenarij koji smo definirali gore. Korak je sljedeći:

  1. Započnite snimanje klikom na gumb „Start“
  2. Idite na web mjesto: //computer-database.gatling.io
  3. Potražite modele s imenom "amstrad"
  4. Odaberite ‘Amstrad CPC 6128’
  5. Vratite se na početnu stranicu
  6. Interakcija nekoliko puta kroz stranice modela klikom na Sljedeći dugme
  7. Kliknite gumb 'Stop & save'

Simulacija će se generirati u paketu org.baeldung definirano tijekom konfiguracije pod imenom RecordedSimulation.scala

6. Pokrenite simulaciju s Mavenom

Da bismo pokrenuli snimljenu simulaciju, moramo ažurirati našu pom.xml:

 io.gatling gatling-maven-plugin 2.2.4 test izvršiti true 

Ovo će izvršiti simulaciju u fazi ispitivanja. Da biste započeli test, samo pokrenite:

mvn test

Kada je simulacija gotova, konzola će prikazati put do HTML izvješća.

Napomena: konfiguracija pravi koristi se jer ćemo koristiti Scalu s mavenom, ova će zastava osigurati da ne završimo s dvaput sastavljanjem naše simulacije. Više detalja dostupno je na dokumentima Gatlinga.

7. Pregled rezultata

Ako otvorimo index.html na predloženom mjestu izvješća izgledaju kako slijede:

8. Zaključak

U ovom uputstvu istražili smo testiranje opterećenja HTTP poslužitelja s Gatlingom. Alati nam omogućuju snimanje simulacije na temelju definiranog scenarija uz pomoć GUI sučelja. Nakon završetka snimanja možemo pokrenuti test. Izvještaj o ispitivanju bit će u obliku HTML nastavka.

Da bismo izgradili svoj primjer, odlučili smo se koristiti arhetip maven. To nam pomaže integrirati Gatling i pokrenuti ga u IDE te olakšati održavanje projekta u sustavu za kontrolu verzija.

Primjer koda može se naći u projektu GitHub.