Bevezetés a teljesítménytesztelésbe a JMeter segítségével

1. Áttekintés

Ebben a cikkben az Apache JMeter segítségével fogjuk konfigurálni és futtatni a teljesítményteszteket.

2. A JMeter beállítása

Töltsük le a JMetert, csomagoljuk ki, menjünk a kuka mappát, és futtassa a futtatható fájlt (*.denevér Windows és *.SH Linux / Unix esetén).

Ezután csak hozzá kell adnunk ezt a mappát a path környezeti változóhoz, hogy elérhető legyen a parancssorból.

A legstabilabb verzió az írás idején a 3.3 - itt ellenőrizhetjük a legújabb verziót.

3. JMeter parancsfájlok létrehozása

Most írjuk meg az első JMeter szkriptünket (egy fájlt, amely a tesztjeink technikai leírását tartalmazza).

Ez az API egy egyszerű SpringBoot alkalmazás, amely REST API-t tesz ki.

Frissítsük a Teszt terv egyet, és először változtassa meg a nevét, majd adjon hozzá egy Szálcsoport.

A Szálcsoport lehetővé teszi számunkra, hogy megismerjük a felhasználói folyamatot, és szimulálja, hogyan működnek együtt az alkalmazással, kattintson a jobb gombbal a parancsfájl nevére a grafikus felületen, és kövesse a kiválasztott menüt:

Most elindulunk a Szálcsoport, ahol megadjuk az alkalmazásunkhoz párhuzamosan igénylő felhasználók számát:

Itt olyan paramétereket adtunk meg, mint:

Név: azt a nevet, amelyet a szálcsoportnak meg akarunk adni

Szálak száma (felhasználók): a párhuzamos felhasználók száma

Felfutási idő: a 0-tól a bejelentett felhasználók számához való eljutáshoz szükséges idő

Hurokszámlálás: ismétlések száma

Adjon hozzá egy HTTP kérés mivel azt fogjuk szimulálni, hogy mind az 5 felhasználóból származik.

Töltsük ki az információkat, hogy megcímezzük az API-t, amelyet ott leírtak, mint az alábbi képen:

Csak kitöltjük a weboldal címét, a portot és a konkrét elérési utat.

Ezután szimuláljuk a felhasználók kéréseit az a hozzáadása után Eredmények megtekintése (Használat Eredmények megtekintése a táblázatban ha az eredmények a rekordok listája) a „Hozzáadás> Figyelő ”.

A teszt futtatásához és a válaszadatok megtekintéséhez nyomja meg a zöld nyíl jobb gombját a tetején:

A válasz részletesebb ábrázolását láthatjuk a Mintavevő eredmény fülre.

Fejezzük be a hozzáadásával Időtartam állítás ban,-ben HTTP kérés, így minden tíz milliszekundumnál tovább tartó kérelmet sikertelen tesztnek kell tekinteni:

A teszt újbóli lefutása után látjuk, hogy vannak olyan felhasználók (itt ez 3), akik tíz milliszekundum alatt nem tudják megszerezni a hallgatók listáját:

Most mentse a tesztet a kiterjesztéssel .jmx az API erőforrás mappájában.

További elemek állnak rendelkezésre a tesztfájlunk konfigurálásához:

  • JDBC kérés: hasznos egy JDBC kérés (SQL lekérdezés) elküldése egy adatbázisba, mielőtt használnánk, fel kell állítanunk egy JDBC kapcsolat konfigurációs elemet
  • XML állítás: teszteli, hogy a válaszadatok megfelelően korrekt XML dokumentumot tartalmaznak-e
  • Méret állítás: azt állítja, hogy a válasz megfelelő számú bájtot tartalmaz
  • JMS Publisher: üzenetek közzététele egy adott célhoz (téma / sor) az üzenetkezelés J2EE specifikációját követve

Az összes rendelkezésre álló alkatrészt a felhasználói kézikönyv részletezi.

4. Futtassa a JMeter teszteket

Kétféle módon lehet futtatni a JMeter teszteket: az egyik a rendelkezésre álló Maven beépülő modulból áll, a másik pedig az önálló JMeter alkalmazásból, nem GUI módban.

Mindenesetre mindkettőnek tudnia kell, hogy hol érhető el a korábban konfigurált JMeter szkript.

4.1. JMeter Maven beépülő modul

JMeter Maven beépülő modulegy Maven plugin, amely lehetővé teszi a JMeter tesztek futtatását az építkezésünk részeként; utolsó verziója jelenleg a 2.6.0, amely kompatibilis az Apache JMeter 3.3-mal.

Tegyük hozzá a pom.xml projektünk:

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

Ezek után minden tesztünket lefuttathatjuk mvn ellenőrizze vagy csak a JMeter-ek mvn jmeter: jmeter; itt van a parancs konzol kimenete:

Megjegyzés: Itt adtuk meg azt a könyvtárat, ahol a tesztjeink találhatók a projektben, vagy az alapértelmezettet ($ {project.basedir} / src / test / jmeter) kerül kiválasztásra; hasonlóan van konfigurálva az eredmény könyvtár, különben az alapértelmezett lesz $ {project.basedir} / target / jmeter / results.

A teljes bővítménydokumentáció itt érhető el.

4.2. Nem GUI mód

A másik módszer a JMeter futtatható fájlon keresztül, feltéve, hogy a parancssoron keresztül elérhető, ezt megtehetjük:

jmeter -Jjmeter.save.saveservice.output_format = xml

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

Az XML-t állítottuk be kimeneti formátumként, amely kitölti a pontos tesztfájlt és az eredményt.

Megjegyzés: Javasoljuk, hogy a terhelés teszteléséhez ne használja a GUI módot, csak a teszt létrehozásához és a teszt hibakereséséhez.

5. Következtetés

Ebben a gyors bemutatóban egy Apache JMeter-et állítottunk be egy SpringBoot alkalmazásban, hogy teljesítményteszteket hajtsunk végre egy Maven pluginnel, miközben gyakorlatilag megvizsgáljuk, hogyan lehet megtervezni egy alapvető teljesítménytesztet.

Mint mindig, a cikk forráskódja a GitHub oldalon található.