Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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.
Locust a virtuális felhasználókat felhasználókként nevezi. A teszthez szükséges felhasználókat parancssori argumentumként, környezeti változón vagy konfigurációs fájlon keresztül adhatja meg a webes felületen. További információ: Konfigurációs beállítások a Locust 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.
JMeter-alapú terheléses tesztek esetén a képlet a következő: Összes virtuális felhasználó = (A JMX-fájlban lévő virtuális felhasználók) * (a tesztmotor-példányok 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.
A Locust-alapú terheléses tesztek esetében a virtuális felhasználók teljes száma a konfigurációs beállítások bármelyikében megadott felhasználók száma. Ezután konfigurálhatja a felhasználók teljes számának létrehozásához szükséges tesztmotor-példányok számát .
Felfutási idő
A felfutási idő az az időtartam, amely alatt a terhelésteszthez szükséges összes virtuális felhasználó eléri a teljes számát. 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.
Locust esetében a felfutást az indítási sebesség használatával konfigurálhatja. A keletkezési arány a másodpercenként hozzáadott felhasználók száma. Ha például a felhasználók száma 20, és az ívási arány 2, másodpercenként 2 felhasználó lesz hozzáadva, és 10 másodpercet vesz igénybe az összes 20 felhasználóhoz való eljutás.
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.
Latencia
Egy egyéni kérés késése az a teljes időtartam, amely azelőtt kezdődik, hogy a kérést elküldik, és addig tart, amíg az első válasz beérkezik. 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 , hogy felügyelt identitásokat használjon különböző célokra, például az Azure Key Vaulthoz való hozzáférést a terhelésteszt titkos paramétereinek vagy tanúsítványainak tárolásához, az Azure Monitor-metrikák eléréséhez a hibafeltételek konfigurálásához vagy a felügyelt identitásalapú hitelesítési folyamatok szimulálásához.
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 támogatja az összes olyan kommunikációs protokollt, amelyet a JMeter és a Locust támogat, 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.
- Kudarc kritériumai annak meghatározásához, hogy a teszt mikor legyen sikeres vagy sikertelen.
- A monitorozási beállítások konfigurálása az Azure-alkalmazás összetevőinek és az erőforrásmetrikáknak a tesztfuttatás alatti figyelésére.
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 hozzácsatolja a teszthez.
Próbafuttatá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, akkor 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.
Az Azure Load Testing tesztmotorként Standard_D4d_v4 méretű virtuális gépeket használ négy virtuális processzorral, 16 GB memóriával és Azure Linux operációs rendszerrel. A JMeter-alapú tesztekhez a tesztmotorok a JDK 21-es és az Apache JMeter 5.6.3-os verzióját használják. A Locust-alapú tesztekhez a tesztmotorok a Python 3.9.19-es és a Locust 2.33.2-es verzióját használják.
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ó arról, hogy az Azure Load Testing az Azure-erőforrástípusok közül melyeket támogat.
Mértékek
A terheléses tesztelés során az Azure Load Testing metrikákat gyűjt a teszt végrehajtásáról. A metrikáknak két típusa van:
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álható az Azure Monitorral, beleértve az Application Insightst és a Container Insightst is az Azure-szolgáltatások részleteinek rögzítéséhez. 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. Ezen kiszolgálóoldali metrikák alapján is meghatározhatja a teszthibákra vonatkozó feltételeket .
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.