Az Azure Load Testing konfigurálása nagy léptékű terheléshez

Ebből a cikkből megtudhatja, hogyan konfigurálhatja a terheléstesztet nagy léptékűre az Azure Load Testing használatával. Az Azure Load Testing absztrakciót végez az infrastruktúra nagy léptékű forgalom szimulálásához való kiépítésének összetettségéről. A terheléstesztek vertikális felskálázásához konfigurálhatja a párhuzamos tesztmotor-példányok számát. Az optimális terheléselosztás érdekében az Azure Load Testing irányítópultján figyelheti a tesztpéldány állapotmetrikáit.

Előfeltételek

Terhelési paraméterek konfigurálása terhelési teszthez

Az alkalmazás felhasználói forgalmának szimulálásához konfigurálhatja a betöltési mintát és a szimulálni kívánt virtuális felhasználók számát. A terhelésteszt futtatásával számos párhuzamos tesztmotor-példányon, az Azure Load Testing skálázhatja az alkalmazás felé irányuló forgalmat szimuláló virtuális felhasználók számát. A terhelési minta határozza meg, hogyan oszlik el a terhelés a terhelésteszt időtartama alatt. A terhelési minták például lineárisak, lépcsőzetesek vagy csúcsterhelések.

A terhelési teszt típusától, URL-alapú vagy JMeter-alapútól függően különböző lehetőségek állnak rendelkezésre a célbetöltés és a terhelési minta konfigurálására. Az alábbi táblázat a két teszttípus közötti különbségeket sorolja fel.

Teszt típusa Virtuális felhasználók száma Terhelésminta
URL-alapú (alapszintű) Adja meg a virtuális felhasználók célszámát a terhelésteszt-konfigurációban. Lineáris terhelési minta a virtuális felhasználók felfutási ideje és száma alapján.
URL-alapú (speciális) Adja meg a tesztmotorok számát és a virtuális felhasználók példányonkénti számát a terhelésteszt-konfigurációban. Konfigurálja a terhelési mintát (lineáris, lépés, csúcs).
JMeter-alapú Adja meg a tesztmotorok számát a terhelésteszt-konfigurációban. Adja meg a virtuális felhasználók számát a tesztszkriptben. Konfigurálja a terhelési mintát a tesztszkriptben.

Terhelési paraméterek konfigurálása URL-alapú tesztekhez

Az URL-alapú terhelési teszt terhelési paramétereinek megadása:

  1. Az Azure Portalon nyissa meg az Azure Load Testing-erőforrást.

  2. A bal oldali navigációs sávon válassza a Tesztek lehetőséget az összes teszt megtekintéséhez.

  3. A listában válassza ki a terhelési tesztet, majd válassza a Szerkesztés lehetőséget.

    Screenshot that shows the list of load tests and the 'Edit' button.

    Másik lehetőségként a tesztkonfigurációt a teszt részleteinek oldaláról is szerkesztheti. Ehhez válassza a Konfigurálás, majd a Tesztelés lehetőséget.

  4. Az Alapszintű beállítások lapon válassza a Speciális beállítások engedélyezése lehetőséget.

  5. A Teszt szerkesztése lapon válassza a Betöltés lapot.

    AZ URL-alapú tesztekhez konfigurálhatja a párhuzamos tesztmotor-példányok számát és a terhelési mintát.

  6. A motorpéldányok csúszkával frissítheti a párhuzamos tesztmotorpéldányok számát. Másik megoldásként írja be a célértéket a beviteli mezőbe.

    Screenshot of the 'Load' tab on the 'Edit test' pane.

  7. Válassza ki a Minta betöltése értéket a listából.

    Minden mintához töltse ki a megfelelő konfigurációs beállításokat. A diagram vizuálisan ábrázolja a terhelési mintát és annak konfigurációs paramétereit.

    Screenshot of the 'Load' tab when editing a load test, showing how to configure the load pattern.

Terhelési paraméterek konfigurálása JMeter-alapú tesztekhez

JMeter-alapú terhelésteszt terhelési paramétereinek megadása:

  1. Az Azure Portalon nyissa meg az Azure Load Testing-erőforrást.

  2. A bal oldali navigációs sávon válassza a Tesztek lehetőséget az összes teszt megtekintéséhez.

  3. A listában válassza ki a terhelési tesztet, majd válassza a Szerkesztés lehetőséget.

    Screenshot that shows the list of load tests and the 'Edit' button.

    Másik lehetőségként a tesztkonfigurációt a teszt részleteinek oldaláról is szerkesztheti. Ehhez válassza a Konfigurálás, majd a Tesztelés lehetőséget.

  4. A Teszt szerkesztése lapon válassza a Betöltés lapot. A Motorpéldányok csúszka vezérlőelem használatával frissítse a tesztmotorpéldányok számát, vagy írja be az értéket közvetlenül a beviteli mezőbe.

    Screenshot of the 'Load' tab on the 'Edit test' pane.

  5. Az Alkalmaz gombra kattintva módosíthatja a tesztet, és újrafuttathatja az új konfigurációt.

Motorpéldányok metrikáinak figyelése

Annak érdekében, hogy a tesztmotor példányai ne legyenek teljesítménybeli szűk keresztmetszetek, figyelheti a tesztmotor-példány erőforrásmetrikáit. A tesztpéldányok magas erőforrás-kihasználtsága negatívan befolyásolhatja a terheléses teszt eredményeit.

Az Azure Load Testing négy erőforrásmetrikát jelent minden példányhoz:

  • CPU-százalék.
  • Memória százalékos aránya.
  • Hálózati bájt/másodperc.
  • Virtuális felhasználók száma.

A tesztmotor-példány akkor tekinthető kifogástalannak, ha a tesztfuttatás időtartama alatt a processzor vagy a memória átlagos százalékos aránya 75% alatt marad.

A motor erőforrásmetrikáinak megtekintése:

  1. Nyissa meg a terheléstesztelési erőforrást. A bal oldali panelen válassza a Tesztek lehetőséget a terheléses tesztek listájának megtekintéséhez.

  2. A listában válassza ki a terheléstesztet a tesztfuttatások listájának megtekintéséhez.

  3. A tesztfuttatási listában válassza ki a tesztfuttatást.

  4. A tesztfuttatási irányítópulton válassza ki a motor állapotát a motorerőforrás-metrikák megtekintéséhez.

    Ha szeretné, válasszon ki egy adott tesztmotor-példányt a szűrők vezérlőivel.

Screenshot that shows the load engine health metrics on the test run dashboard.

Nem kifogástalan motorpéldányok hibaelhárítása

Ha egy vagy több példány magas erőforrás-használatot mutat, az hatással lehet a teszt eredményeire. A probléma megoldásához próbálkozzon az alábbi lépésekkel:

  • Csökkentse a menetek (virtuális felhasználók) számát tesztmotoronként. A virtuális felhasználók célszámának eléréséhez növelheti a terhelési teszt motorpéldányainak számát.

  • Győződjön meg arról, hogy a szkript hatékony, redundáns kód nélkül.

  • Ha a motor állapota ismeretlen, futtassa újra a tesztet.

Kérések másodpercenkénti meghatározása

Az Azure Load Testing által a terhelésteszthez generálható kérések maximális száma másodpercenként az alkalmazás késésétőlés a virtuális felhasználók (VU-k) számától függ. Az alkalmazás késése a tesztmotor által küldött alkalmazáskérések fogadásának teljes időtartama. A virtuális felhasználók száma az Azure Load Testing által adott időpontban végrehajtott párhuzamos kérelmek száma.

A másodpercenkénti kérelmek számának kiszámításához alkalmazza a következő képletet: RPS = (A kérelemegységek száma) * (másodpercben 1/késés).

Ha például az alkalmazás késése 20 ezredmásodperc (0,02 másodperc), és 2000 virtuális gépet hoz létre, körülbelül 100 000 RPS-t (2000 * 1/0,02s) érhet el.

A másodpercenkénti kérések célszámának eléréséhez konfigurálja a virtuális felhasználók teljes számát a terhelési teszthez.

Megjegyzés:

Az Apache JMeter csak azokat a kérelmeket jelenti, amelyek a kiszolgálóra és vissza tették azt, akár sikeresek, akár nem. Ha az Apache JMeter nem tud csatlakozni az alkalmazáshoz, a másodpercenkénti kérelmek tényleges száma alacsonyabb lesz, mint a maximális érték. Ennek lehetséges oka lehet, hogy a kiszolgáló túl elfoglalt a kérés kezeléséhez, vagy hiányzik egy TLS/SSL-tanúsítvány. A csatlakozási problémák diagnosztizálásához ellenőrizheti a hibadiagramot a terheléstesztelési irányítópulton, és letöltheti a terheléstesztelési naplófájlokat.

Motorpéldányok és virtuális felhasználók tesztelése

Az Apache JMeter-szkriptben megadhatja a párhuzamos szálak számát. Minden szál egy olyan virtuális felhasználót jelöl, aki hozzáfér az alkalmazásvégponthoz. Azt javasoljuk, hogy a szkriptek szálainak számát legfeljebb 250 alatt tartsa.

Az Azure Load Testingben a tesztmotor-példányok felelősek az Apache JMeter-szkript futtatásáért. Az összes tesztmotor-példány párhuzamosan fut. Konfigurálhatja a példányok számát a terheléses teszteléshez.

A terheléses teszt virtuális felhasználóinak teljes száma a következő: VUs = (# szál) * (# tesztmotor-példányok).

A virtuális felhasználók célszámának szimulálásához konfigurálhatja a párhuzamos szálakat a JMeter-szkriptben, és ennek megfelelően a motorpéldányokat a terhelési teszthez. A tesztmotor metrikáinak figyelése a példányok számának optimalizálásához.

Ha például 1000 virtuális felhasználót szeretne szimulálni, állítsa az Apache JMeter-szkript szálainak számát 250-re. Ezután konfigurálja a terhelési tesztet négy tesztmotorpéldánysal (azaz 4 x 250 szálkal).

Az Azure Load Testing-erőforrás helye határozza meg a tesztmotor példányainak helyét. A terheléstesztelési erőforrás minden tesztmotor-példánya ugyanabban az Azure-régióban található.