Mik az időzítők?
Alapértelmezés szerint a JMeter anélkül küldi el a kérést, hogy szünetet tartana az egyes kérések között. Ebben az esetben a JMeter túlterhelheti a tesztkiszolgálót azzal, hogy túl sok kérést küld el rövid idő alatt.
Képzeljük el, hogy több ezer kérést küld el egy tesztelt webszervernek néhány másodperc alatt. Ez történik!
Az időzítők lehetővé teszik a JMeter számára, hogy késleltesse az egyes szálak által küldött kéréseket. Az időzítő megoldhatja a szerver túlterhelésével kapcsolatos problémát.
Továbbá a való életben a látogatók nem egyszerre, hanem különböző időközönként érkeznek egy webhelyre. Tehát az Időzítő segít a valós idejű viselkedés utánzásában.
Ebben az oktatóanyagban megtanulja
- Állandó időzítő
- Gaussian Random Timer
- Egységes véletlen időzítő
- BeanShell Timer
- BSF időzítő
- JSR223 időzítő
- Az állandó időzítő használata
Az alábbiakban néhány gyakori típusú időzítő a JMeter
Állandó időzítő:
Az állandó időzítő ugyanolyan ideig késlelteti az egyes felhasználói kéréseket .
Gaussian Random Timer:
Gauss véletlen időzítő késlelteti egyes felhasználói kérés egy véletlenszerű ideig.
Paraméterek:
Tulajdonság | Leírás |
---|---|
Név | Leíró neve ennek az időzítőnek, amely a fán látható |
Eltérések (ezredmásodpercek) | A Gauss-eloszlás függvényének paramétere |
Állandó késleltetési eltolás (ezredmásodperc) | További érték ezredmásodpercben |
Tehát a teljes késést az alábbi ábra írja le:
Egységes véletlen időzítő:
Az egységes véletlen időzítő véletlenszerűen késlelteti az egyes felhasználói kéréseket.
Paraméterek:
Tulajdonság |
Leírás |
---|---|
Név |
Leíró neve ennek az időzítőnek, amely a fán látható |
Random Delay Maximum |
A késleltetendő milliszekundumok maximális véletlenszerű száma. |
Állandó késleltetési eltolás (ezredmásodperc) |
További érték ezredmásodpercben |
A teljes késleltetés a véletlenszerű és az eltolt érték összege.
BeanShell Timer
A BeanShell Timer használható késleltetési idő generálására az egyes felhasználói kérések között.
BSF időzítő
A BSF időzítővel késleltethető az egyes felhasználói kérések között egy BSF szkript nyelv segítségével.
JSR223 időzítő
A JSR223 időzítővel késleltethető az egyes felhasználói kérések között egy JSR223 szkriptnyelv használatával
Az állandó időzítő használata
Ebben a példában az Állandó időzítő segítségével fix késleltetést állíthat be a felhasználói kérések között a google.com címre.
Kezdjük egy egyszerű teszt szkriptel
- A JMeter 100 alkalommal létrehoz egy felhasználói kérést a http://www.google.com címre
- Az egyes felhasználói kérések közötti késés 5000 ms
Itt van ennek a gyakorlati példának az ütemterve :
Előfeltétel:
Mi használja újra a Step 1 és 2. lépés bemutató JMeter teljesítmény tesztelése.
1. lépés: Adja hozzá a Szálcsoportot
Kattintson a jobb gombbal a Teszttervre, és adjon hozzá egy új szálcsoportot: Hozzáadás -> Szálak (Felhasználók) -> Szálcsoport
A Menetcsoport vezérlőpultjában írja be a Szál tulajdonságait az alábbiak szerint
Ez a beállítás lehetővé teszi a JMeter számára, hogy 100 alkalommal egy felhasználói kérést hozzon létre a http://www.google.com címre
2. lépés: Adjon hozzá JMeter elemeket
- A HTTP kérés alapértelmezett hozzáadása
- HTTP-kérés hozzáadása
3. lépés: Adja meg az állandó időzítőt
Kattintson a jobb gombbal a Szálcsoport -> Időzítő -> Állandó időzítő elemre
5000 milliszekundum késleltetés beállítása
4. lépés: Adja hozzá a nézet eredményeit a táblázatba
Az Eredmények megtekintése táblázatban a teszt eredményét táblázatos formátumban jeleníti meg.
Kattintson a jobb gombbal a Hozzáadás -> Figyelő -> Eredmény megtekintése táblázatban
Az eredmények megtekintése a táblázatban az alábbi ábra szerint jelenik meg
5. lépés: Futtassa a tesztet
Ha készen áll egy teszt futtatására, kattintson a menüsoron a Futtatás gombra, vagy a Ctrl + R billentyűkombinációra
Ez ennek a tesztnek az eredménye
Például a fenti ábrán elemezzük a 2. mintát
- A kezdés ideje 22: 05: 01.866
- A 2. minta mintavételi ideje 172 ms
- Állandó időzítő : 5000 ms (konfigurálva)
- A minta befejezési ideje = 22: 05: 01.866 + 172 + 5000 = 22: 05: 07.038
Tehát a 3. mintának ekkor kell kezdődnie : 22: 05: 07.039 (a fenti ábrán látható)
Az egyes minták késleltetése 5000 ms
Ha megváltoztatja az állandó időzítő nulla értékét , akkor látni fogja, hogy az eredmény megváltozott
Hagyja elemezni az 1. mintát
- A kezdés ideje 22: 17: 39.141
- A 2. minta mintavételi ideje 370 ms
- Állandó időzítő : 0 ms (konfigurálva)
- A minta befejezési ideje = 22: 17: 39.141+ 370 + 0 = 22: 17: 39.511
Tehát a 2. mintának ekkor kell indulnia : 22: 17: 39.512 (a fenti ábrán látható)
Hibaelhárítás:
Ha a fenti forgatókönyv futtatása közben szembesül a problémával ... tegye a következőket
- Ellenőrizze, hogy proxyn keresztül csatlakozik-e az internethez. Ha igen, távolítsa el a proxyt.
- Nyissa meg a JMeter új példányát
- Nyissa meg a TimerTestPlan.jmx fájlt a Jmeter alkalmazásban
- Kattintson duplán a Szálcsoport -> Eredmény megtekintése a táblázatban elemre
- Futtassa a tesztet