Alapkonfigurációk beállítása terheléses tesztekhez

Befejeződött

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:

  1. Határozza meg az egyes felhasználói folyamatok és a teljes megoldás alapkonfigurációit és tesztelési feltételeit.

  2. 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.

  3. 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:

Table that shows sample test criteria.

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.

Tudáspróba

1.

Hány alaptervre van szükség?

2.

Meghatározza az alapkonfiguráció az üzembe helyezés által nyújtott teljesítményt?

3.

Mikor kell kiértékelni és frissíteni az alapterveket?