Ú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.
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 háromféleképpen határozhatja meg:
- Töltsön fel egy JMeter-tesztszkriptet.
- Töltsön fel egy Locust-tesztszkriptet.
- Adja meg a tesztelni kívánt URL-végpontok listáját.
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ámogat más tesztelési keretrendszereket, mint az Apache JMeter és a Locust.
A teszt a terhelési teszt futtatásának konfigurációs beállításait is megadja:
- Terheléstesztelési paraméterek, például környezeti változók, titkos kódok és tanúsítványok.
- Terheléskonfiguráció a terheléses teszt több tesztmotor-példányra való felskálázásához.
- Feladatfeltételek annak meghatározásához, hogy a teszt mikor legyen sikeres vagy sikertelen.
- Monitorozási beállítások az Azure-alkalmazás összetevőinek és erőforrásmetrikáinak a tesztfuttatás során történő figyeléséhez való konfigurálásához.
Emellett feltöltheti a CSV bemeneti adatfájljait és tesztelheti a konfigurációs fájlokat a terhelési tesztbe.
Amikor elindít egy tesztet, az Azure Load Testing üzembe helyezi a tesztszkriptet, a kapcsolódó fájlokat és a konfigurációt a tesztmotor-példányokon. A tesztmotor-példányok ezután elindítják a 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 tesztszkriptet futtató Microsoft által felügyelt számítástechnikai infrastruktúra. A tesztmotor-példányok párhuzamosan futtatják a tesztszkriptet. 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.
Amíg a tesztszkript fut, az Azure Load Testing összegyűjti és összesíti a tesztelési keretrendszer 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.
Kapcsolódó tartalom
Most már ismeri az Azure Load Testing legfontosabb fogalmait a terheléstesztek létrehozásának megkezdéséhez.
- Megtudhatja, hogyan működik az Azure Load Testing.
- Megtudhatja, hogyan hozhat létre és futtathat URL-alapú terheléstesztet egy webhelyen.
- Megtudhatja, hogyan azonosíthatja az Azure-alkalmazások teljesítménybeli szűk keresztmetszetét.
- Megtudhatja, hogyan állíthat be automatikus regressziós tesztelést a CI/CD használatával.