Új Azure Load Testing-felhasználók alapfogalmai

Ismerje meg az Azure Load Testing legfontosabb fogalmait és összetevőit. Ezek az információk segíthetnek abban, hogy hatékonyabban állítson be terheléstesztet az alkalmazás teljesítményproblémáinak azonosításához.

A terheléstesztelés általános fogalmai

Ismerje meg a terheléses tesztek futtatásával kapcsolatos legfontosabb fogalmakat.

Virtuális felhasználók

A virtuális felhasználók egy adott tesztesetet futtatnak a kiszolgálóalkalmazáson, és más virtuális felhasználóktól függetlenül futnak. Több virtuális felhasználóval is szimulálhat egyidejű kapcsolatokat a kiszolgálóalkalmazással.

Az Apache JMeter a virtuális felhasználókra is hivatkozik szálként. A JMeter-tesztszkriptben a szálcsoportelem lehetővé teszi a virtuális felhasználók készletének megadását. Ismerje meg a szálcsoportokat az Apache JMeter dokumentációjában.

A terhelési teszt virtuális felhasználóinak teljes száma a tesztszkriptben szereplő virtuális felhasználók számától és a tesztmotor példányainak számától függ.

A képlet a következő: Összes virtuális felhasználó = (virtuális felhasználók a JMX fájlban) * (a tesztmotor példányainak száma).

A virtuális felhasználók célszámát a tesztmotor-példányok számának, a tesztszkriptben szereplő virtuális felhasználók számának vagy a kettő kombinációjának konfigurálásával érheti el.

Felfutási idő

A felfutási idő az az idő, amely alatt a terhelésteszthez szükséges virtuális felhasználók teljes száma eltelik. Ha a virtuális felhasználók száma 20, és a felfutási idő 120 másodperc, akkor 120 másodpercig tart mind a 20 virtuális felhasználóhoz eljutni. Minden virtuális felhasználó 6 (120/20) másodperccel az előző felhasználó elindítása után indul el.

Válaszidő

Az egyes kérések válaszideje, vagyis a JMeterben eltelt idő az a teljes idő, amely a kérés elküldése előtt, az utolsó válasz beérkezése után következik be. A válaszidő nem tartalmazza a válasz megjelenítésének idejét. A terhelési teszt során nem dolgozzák fel az ügyfélkódot, például a JavaScriptet.

Késés

Az egyes kérések késése az a teljes idő, amelyből a kérést az első válasz beérkezése után küldik el. A késés magában foglalja a kérelem összeállításához és a válasz első részének összeállításához szükséges összes feldolgozást.

Kérések másodpercenként (RPS)

A másodpercenkénti kérelmek (RPS) vagy átviteli sebesség a kiszolgálóalkalmazáshoz érkező kérések másodpercenként generált teljes száma.

A képlet a következő: RPS = (kérelmek száma) / (teljes idő másodpercben).

Az idő kiszámítása az első minta kezdetétől az utolsó minta végéig történik. Ez az idő magában foglalja a minták közötti intervallumokat, például ha a tesztszkript időzítőket tartalmaz.

Az RPS kiszámításának másik módja az alkalmazás átlagos késése és a virtuális felhasználók száma. Ha egy adott számú RPS-t szeretne szimulálni egy terheléses teszttel, az alkalmazás késése miatt kiszámíthatja a szükséges virtuális felhasználók számát.

A képlet a következő: Virtuális felhasználók = (RPS) * (késés másodpercben).

Például 20 ezredmásodperc (0,02 másodperc) alkalmazáskésés esetén 100 000 RPS szimulálásához a terhelési tesztet 2000 virtuális felhasználóval kell konfigurálnia (100 000 * 0,02).

Azure Load Testing-összetevők

Ismerje meg az Azure Load Testing legfontosabb fogalmait és összetevőit. Az alábbi diagram áttekintést nyújt arról, hogyan viszonyulnak egymáshoz a különböző fogalmak.

Diagram that shows how the different concepts in Azure Load Testing relate to one another.

Terheléstesztelési erőforrás

Az Azure terheléstesztelési erőforrás a terheléstesztelési tevékenységek legfelső szintű erőforrása. Ez az erőforrás központosított helyet biztosít a terheléstesztek, a teszteredmények és a kapcsolódó összetevők megtekintéséhez és kezeléséhez.

Terheléstesztelési erőforrás létrehozásakor meg kell adnia annak helyét, amely meghatározza a tesztmotorok helyét. Az Azure Load Testing automatikusan titkosítja az erőforrás összes összetevőét. Választhat a Microsoft által felügyelt kulcsok közül, vagy használhatja saját, ügyfél által felügyelt kulcsait a titkosításhoz.

Az alkalmazás terheléstesztelésének futtatásához adjon hozzá egy tesztet a terheléstesztelési erőforráshoz. Az erőforrások nulla vagy több tesztet tartalmazhatnak.

Az Azure szerepköralapú hozzáférés-vezérlésével hozzáférést biztosíthat a terheléstesztelési erőforráshoz és a kapcsolódó összetevőkhöz.

Az Azure Load Testing lehetővé teszi felügyelt identitások használatát az Azure Key Vault eléréséhez a terhelésteszt titkos paramétereinek vagy tanúsítványainak tárolásához. Használhat felhasználó által hozzárendelt vagy rendszer által hozzárendelt felügyelt identitást is.

Teszt

A teszt az alkalmazás terhelésteszt-konfigurációját ismerteti. Teszt hozzáadása egy meglévő Azure-terheléstesztelési erőforráshoz.

A teszt egy teszttervet tartalmaz, amely leírja az alkalmazásvégpont meghívásának lépéseit. A teszttervet kétféleképpen határozhatja meg:

Az Azure Load Testing a JMeter által támogatott összes kommunikációs protokollt támogatja, nem csak a HTTP-alapú végpontokat. Előfordulhat például, hogy a tesztszkriptben egy adatbázisból vagy üzenetsorból szeretne olvasni vagy írni.

Az Azure Load Testing jelenleg nem támogatja az Apache JMeter-nél más tesztelési keretrendszereket.

A teszt a terhelési teszt futtatásának konfigurációs beállításait is megadja:

Emellett CSV bemeneti adatfájlokat és JMeter-konfigurációs fájlokat is feltölthet a tesztbe.

A teszt indításakor az Azure Load Testing üzembe helyezi a JMeter-tesztszkriptet, a kapcsolódó fájlokat és a konfigurációt a tesztmotor-példányokon. A tesztmotor példányai ezután elindítják a JMeter-tesztszkriptet az alkalmazás terhelésének szimulálásához.

Minden alkalommal, amikor elindít egy tesztet, az Azure Load Testing létrehoz egy tesztfuttatást, és csatolja azt a teszthez.

Tesztfuttatás

A tesztfuttatások egy terheléses teszt végrehajtását jelölik. Teszt futtatásakor a tesztfuttatás tartalmazza a társított teszt konfigurációs beállításainak másolatát.

A tesztfuttatás befejezése után megtekintheti és elemezheti a terheléses teszt eredményeit az Azure Portal Azure Load Testing irányítópultján .

Másik lehetőségként letöltheti a tesztnaplókat, és exportálhatja a teszteredmény-fájlt.

Fontos

A teszt frissítésekor a meglévő tesztfuttatások nem öröklik automatikusan az új beállításokat a tesztből. Az új beállításokat csak az új tesztfuttatások használják a teszt futtatásakor. Ha újrafuttat egy meglévő tesztfuttatást, a rendszer a tesztfuttatás eredeti beállításait használja.

Tesztmotor

A tesztmotor a Microsoft által felügyelt számítási infrastruktúra, amely az Apache JMeter tesztszkriptet futtatja. A tesztmotor példányai párhuzamosan futtatják a JMeter-szkriptet. A terheléstesztet a tesztmotorpéldányok számának konfigurálásával skálázhatja. Megtudhatja, hogyan konfigurálhatja a virtuális felhasználók számát, vagy hogyan szimulálhatja a másodpercenkénti kérések célszámát.

A tesztmotorok ugyanazon a helyen vannak üzemeltetve, mint az Azure Load Testing-erőforrás. Az Azure-régiót az Azure terheléstesztelési erőforrás létrehozásakor konfigurálhatja.

A tesztszkript futtatása közben az Azure Load Testing összegyűjti és összesíti az Apache JMeter feldolgozói naplóit az összes tesztmotor-példányból. A naplókat a terhelési teszt során előforduló hibák elemzéséhez töltheti le.

Alkalmazásösszetevő

Amikor egy Azure-ban üzemeltetett alkalmazás terheléstesztjét futtatja, figyelheti a különböző Azure-alkalmazásösszetevők erőforrásmetrikáit (kiszolgálóoldali metrikák). Amíg a terhelésteszt lefut, és a teszt befejezése után az Azure Load Testing irányítópultján figyelheti és elemezheti az erőforrásmetrikákat.

Terhelési teszt létrehozásakor vagy frissítésekor konfigurálhatja az Azure Load Testing által figyelni kívánt alkalmazásösszetevők listáját. Az egyes alkalmazásösszetevők alapértelmezett erőforrásmetrikáinak listáját módosíthatja.

További információ az Azure Load Testing által támogatott Azure-erőforrástípusokról.

Mérőszámok

A terheléses tesztelés során az Azure Load Testing metrikákat gyűjt a teszt végrehajtásáról. Kétféle metrikát különböztetünk meg:

  • Az ügyféloldali metrikákat a tesztmotorok jelentik. Ezek a metrikák közé tartozik a virtuális felhasználók száma, a kérelmek válaszideje, a sikertelen kérelmek száma vagy a másodpercenkénti kérelmek száma. Ezek alapján az ügyféloldali metrikák alapján meghatározhatja a teszthibákra vonatkozó feltételeket.

  • A kiszolgálóoldali metrikák elérhetők az Azure által üzemeltetett alkalmazásokhoz, és információkat nyújtanak az Azure-alkalmazás összetevőiről. Az Azure Load Testing integrálva van az Azure Monitorral, beleértve az Application Elemzések és a Container Insights szolgáltatást, hogy adatokat rögzítsen az Azure-szolgáltatásokból. A szolgáltatás típusától függően különböző metrikák érhetők el. A metrikák lehetnek például az adatbázis-olvasások száma, a HTTP-válaszok típusa vagy a tárolóerőforrás-felhasználás.

Most már ismeri az Azure Load Testing legfontosabb fogalmait a terheléstesztek létrehozásának megkezdéséhez.