Alapkonfigurációk beállítása terheléses tesztekhez
Most, hogy definiálta a terhelési teszteket és a küszöbértékeket, használjuk őket az alaptervek létrehozásához.
Az alapkonfiguráció olyan metrikákra vonatkozó feltételek halmaza, amelyekkel kiértékelheti, hogy egy teszt sikertelen vagy sikeres volt-e. A feltételek például a következők lehetnek:
- Átlagos kérések másodpercenként
- Hibaarány
- Maximális válaszidő
A terheléses tesztek alapkonfigurációinak beállításához a következőkre lesz szükség:
Határozza meg az egyes felhasználói folyamatok és a teljes megoldás alapkonfigurációit és tesztelési feltételeit.
Módosítsa a rendszeres futtatások küszöbértékeit annak ellenőrzéséhez, hogy az alkalmazás továbbra is biztosítja-e a várt teljesítményt, és nem okoz-e hibát.
Használjon egy külön alapkonfigurációt a káoszteszteléshez, amely tolerálja a hibaarányok várható kiugrásait és átmenetileg csökkenti a teljesítményt.
Ez a tevékenység folyamatos, és rendszeresen kell elvégezni. Az alapkonfigurációkat például az új funkciók bevezetése vagy a szolgáltatási termékváltozatok módosítása után kell áttekintenie.
Küszöbértékek kiértékelése az Azure Load Testing használatával
A fejlesztési fázisban az összetevők és az erőforráskövetelmények teljesítménye gyakran nem ismert egyértelműen. A terheléses tesztek segíthetnek azonosítani a teljes megoldás és összetevői várt teljesítményét, beleértve a vertikális felskálázási viselkedést is. Emellett segíthetnek meghatározni az alapterv létrehozásához elvárt küszöbértékeket.
Tegye fel a következő kérdéseket, és értékelje újra rendszeresen:
- Mennyi ideig tart egy egyéni művelet, felhasználói folyamat vagy API-hívás végrehajtása?
- Hány kérés, művelet és egyidejű felhasználó képes másodpercenként kiszolgálni egy összetevőt?
- Hány erőforrást használ fel a rendszer?
- Hogyan befolyásolja 10, 50 és 100 egyidejű felhasználó a mögöttes infrastruktúrát és a háttérszolgáltatást?
- Mikor kell az összetevőket be- és kiskálázni?
A válaszok tesztekhez és küszöbértékekhez vezetnek. A másodpercenkénti kérések, a válaszidő és a hiba százalékos aránya mind alkalmazható példa a küszöbértékekre.
Miután feljegyezte a részleteket, értékekkel elemezheti és értékelheti a teljes megoldás és összetevői teljesítményét konzisztens módon. Használja az alapkonfigurációt a változások és a várt teljesítménytől való eltérés hatásainak azonosítására is.
A tesztek futtatásakor előfordulhat, hogy eltérő követelmények vonatkoznak a speciális használati esetekre, például egy hibás összetevőre vagy egy terhelésnövekedésre. Ezekben az esetekben magasabb hibaarányok vagy alacsonyabb kérések másodpercenként várhatók és elfogadhatók. Ezekhez a helyzetekhez külön alapkonfigurációt és beállított küszöbértékeket használhat. Például:
- Nagy terhelésű forgatókönyvek, ahol vertikális felskálázási művelet várható és szükséges. A művelet befejezéséig előfordulhat, hogy a teljesítmény átmenetileg romlik.
- Káoszkísérletek egy folyamatos ellenőrzési folyamat részeként. Magasabb hibaarányra lehet számítani, amíg a rugalmassági mértékek meg nem kezdik az alkalmazás önjavítását vagy egy másik régióba történő feladatátvételt.
Az Azure Load Testing használatával kiértékelheti, hogy a rendszer hogyan teljesít a meghatározott küszöbértékek alapján. A szolgáltatás beépített tesztfeltétel-képességgel rendelkezik. Ez azt is jelentheti, hogy megadhatja azokat a feltételeket, amelyeket egy terheléses tesztnek meg kell felelnie.
Különböző alapkonfigurációk implementálásához használhat tesztfeltételeket. Például:
Ezeket a tesztelési feltételeket megadhatja a JSON-ban, és az API-val hozzáadhatja őket a terheléses teszthez. Példa:
[
{
"passFailMetrics": {
"<guid>": {
"clientmetric": "requests_per_sec",
"aggregate": "avg",
"condition": "<",
"value": 1200.0,
"actualValue": 0.0,
"result": null,
"action": "continue"
},
"<guid>": {
"clientmetric": "response_time_ms",
"aggregate": "avg",
"condition": ">",
"value": 75.0,
"actualValue": 0.0,
"action": "continue"
},
"<guid>": {
"clientmetric": "error",
"aggregate": "percentage",
"condition": ">",
"value": 0.0,
"actualValue": 0.0,
"action": "continue"
}
}
}
]
A folyamatos ellenőrzés másik fontos eleme a valós problémákat szimuláló tesztek injektálása. A következő leckében megismerheti, hogyan adhat hozzá káoszkísérleteket az érvényesítési folyamathoz.