Teljesítmény elérése és fenntartása

Befejeződött
Védelmet nyújt a teljesítménycsökkenés ellen, miközben a rendszer használatban van, és ahogy fejlődik.

A fejlesztés nem egyszeri munka. Ez egy folyamatban lévő folyamat. Változások várhatók a teljesítményben a funkciók változásakor. A felhasználói minták és profilok eltérőek, még a többi Azure Well-Architected-pillér optimalizálási változásai is. Minden módosítás megterhelheti a számítási feladat erőforrásait.

Széf óvja a rendszert a változásoktól, hogy ne csúsztassa vissza a teljesítménycélokat. A tesztelés és a monitorozás integrálása a fejlesztési folyamatba. Tesztelje a rendszer teljesítményét éles környezetben valós terheléssel, és szimulálja ezt a terhelést az éles üzem előtti automatizált teszteléssel. Mindkét esetben ellenőrzési célból monitorozási eljárásokat kell alkalmaznia.

A fejlesztési életciklus során különböző típusú teszteket végezhet különböző szakaszokban. A kezdeti szakaszokban tesztelje a koncepció bizonyítékát, hogy a teljesítményeredmények ne legyenek teljesen váratlanok. A fejlesztés előrehaladtával végezzen manuális, alacsony munkamennyiségű teszteket a teljesítménymutatók létrehozásához. A buildelési szakaszban kezdje el az automatizált rutinteljesítmény-tesztek fejlesztését, amelyek kiértékelik a késést, a stresszszinteket, a terhelési kapacitást és a teszttervekben meghatározott egyéb jellemzőket.

A figyelésnek ennek az erőfeszítésnek szerves részét kell képeznie, nem pedig elszigetelt gyakorlatnak. Láthatja, hogy a rendszer és erőforrásai hogyan teljesítenek idővel. Ezután finomhangolhatja őket az érték maximalizálása érdekében, és meggyőződhet arról, hogy továbbra is megfelelnek a teljesítményszabványoknak.

Ne feledje, hogy a teljesítménycélok időről időre változnak, a változásokra reagálva. Frissítse a teljesítménymodellt a tesztelt és figyelt metrikák alapján. Egyértelműen jelezheti a folyamatok teljesítményére gyakorolt megnövekedett, csökkentett vagy nem befolyásolható hatást.

Mindig készen áll arra, hogy újratárgyalja és visszaállítsa az üzleti érdekelt felekkel szembeni elvárásokat.

Példaforgatókönyv

A Contoso Event Solutions olyan terméket kínál, amellyel az eseménybelépő személyzet beolvashatja a jegyeket a mobileszközön, és gyorsan engedélyezheti a belépést egy jegyekkel rendelkező helyszínre az arra jogosultak számára. A rendszer teljesen offline módban és felhőalapú verzióként is elérhető a jegyek duplikációja miatt aggódó helyszínek számára. Az offline mód rendkívül teljesítménnyel rendelkezik, de az online módból hiányoznak a teljesítménycélok. A fejlesztési csapat nemrég fektetett be néhány fejlesztési ciklust, hogy működjön rajta, és most a teljesítmény sokkal javult, és megfelel a céloknak. Az üzleti érdekelt felek hamarosan bővítenék ügyfélkörüket a nagyobb helyszínek támogatása érdekében.

A fejlesztési teljesítmény tesztelése

A teljesítményteszteket olyan minőségi kapukként kell formalizálni, amelyek jóváhagyhatják vagy elutasíthatják a kiadási előléptetést és az éles környezetben történő végső üzembe helyezést.

Ezek az ellenőrzőpontok biztosítják, hogy az üzembe helyezés minden szakasza megfeleljen a szükséges teljesítményszabványoknak, mielőtt továbblép a következőre. Az ellenőrzőpontok segítenek megelőzni a nem szándékos teljesítményregressziót. Ha például a teljesítmény jelentősen elmarad az elvárásoktól, a fejlesztések befejezéséig blokkolhatja a kiadást.

A Contoso kihívása

  • A csapat jelentős időt és energiát fektetett abba, hogy elfogadható teljesítményt érjen el az alkalmazás online verziójához, de jelenleg nincs rendszer a regresszió megelőzésére.
  • A következő funkció, amelyet a hozzáadásra terveznek, az a lehetőség, hogy a helyszín a résztvevő képének megjelenítését és a további ellenőrzést is lehetővé teszi. Fennáll annak a kockázata, hogy a további fényképkeresés és -letöltés lelassítja a folyamatot.
  • Formális folyamat nélkül fennáll annak a kockázata, hogy az online és az offline verziók teljesítményét negatívan befolyásolhatja a további funkció, és ezek a célok alá eshetnek.

A megközelítés és az eredmények alkalmazása

  • A csapat automatikus teljesítményteszteket integrál a buildelési folyamatba. Ha szigorú teljesítményalapú "go/no-go" feltételeket implementál a buildelési folyamatban, a csapat biztosabb abban, hogy az új funkció nem fog teljesítményregresszióval megjelenni.
  • A csapat bölcsen implementálta ezt a tesztelést, mivel hibát észlelt a build legújabb verziójában. A hiba miatt az alkalmazás megpróbált csatlakozni az internethez, hogy letöltsön egy képet, miközben a képolvasó offline módra lett állítva, ami időtúllépést okozott minden jegyvizsgálatnál. A hiba automatikus teszteléssel való elfogása lehetővé tette, hogy a csapat kijavítsa a hibát, mielőtt kiadta az új verziót.

Optimalizálás megfigyelhetőséggel

Állítson be egy megismételhető folyamatot az éles valós tranzakciók és a teljesítménycélok eltéréseinek monitorozásához. Emellett szintetikus tranzakciókat is használhat az éles környezetben, és monitorozási riasztásokat állíthat be a teljesítményregressziókkal kapcsolatban.

Szeretne betekintést kapni a rendszer tényleges teljesítményébe valós terhelés alatt, amely nem szimulálható tesztekkel. Ezután proaktív módon azonosíthatja a problémákat és a fejlesztési területeket, például a lehetséges szűk keresztmetszeteket, a kihasználatlan erőforrásokat és egyéb problémákat.

A Contoso kihívása

  • Egy olyan esemény során, ahol online jegyérvényesítést használnak, a háttérrendszert nagy mértékben használják.
  • Létezik egy alkalmazásteljesítmény-monitorozási (APM) rendszer, de nem használták az éles tranzakciók állapotának figyelésére.

A megközelítés és az eredmények alkalmazása

  • A csapat úgy döntött, hogy frissített folyamatokat vezet be az állapotmetrikák jobb rögzítése érdekében:
    • A riasztásokat a teljesítmény percentilisei és a teljesítmény-kiugró értékek alapján konfigurálják. Nincsenek riasztások, amelyek azt jelzik, hogy a rendszer elfogadható tartományban teljesít a legtöbb jegyvizsgálat esetében.
    • Az offline esemény befejezése után a rendszer feltölti a jegyvizsgálatok telemetriáját kötegbe, és ezek a metrikák is végighaladnak egy folyamaton, hogy megkeresse az elfogadható teljesítménytől való eltéréseket.
    • A csapat emellett szintetikus tranzakciótesztelést is implementál a teljesítménymonitorozás teljesítményének növeléséhez. Mivel szinte minden esemény hétvégén és este zajlik, a csapat a hét során szintetikus tranzakciós tesztelést használ a teljesítménykonfiguráció konzisztensebb alapkonfigurációjának létrehozásához.

Számítási feladatok változásainak intelligens kezelése

Kezelje a teljesítmény erózióját a használat növekedésével, a funkciók változásának és az adatok időbeli halmozódásának növekedésével a teljesítmény fenntartása érdekében. Az elvárások visszaállítása és új célok létrehozása, ha a finomhangolás csak rövid távú előnyökkel jár.

Ennek a megközelítésnek a használatával megőrizheti a teljesítmény állapotát, mielőtt a romlás olyan problémákká alakul, amelyek negatívan befolyásolják a felhasználói élményt az elfogadható tartományon túl.

A célok módosítása alaphelyzetbe állítja a teljesítménymodellt, és nem pazarolja az időt a kapacitását elérő rendszer optimalizálására.

A Contoso kihívása

  • Az értékesítési csapat agresszívan indított új eseményhelyszíneket a rendszerbe. Az üzlet jó.
  • A számítási feladatok monitorozási rendszere elkezdte megfigyelni, hogy a teljesítményköltségvetés egyre több és több időt vesz igénybe, még új funkciók bevezetése nélkül is.
  • Módosítás nélkül ez a pályák a teljesítmény elfogadhatatlan regressziójához vezethetnek, ami miatt a számítási feladat kimaradásnak van kitéve, ha incidens történik.

A megközelítés és az eredmények alkalmazása

  • A csapat tisztában van azzal, hogy az online események adatkeresési mechanizmusa egyre több ügyfelet vesz fel, és nagyon nagy mennyiségű lekérdezést végez az adatokon.
  • Egyes lekérdezésoptimalizálások segítettek megőrizni a megnövekedett használatot, ami további károkat okoz. Az elkövetkező hónapokban a csapat azt tervezi, hogy a különböző eseményeket különböző adatpartíciókra bontja, hogy csökkentse a lekérdezések vizsgálatának szükségességét. Ez támogatja a számítási feladatok folyamatos horizontális felskálázását.
  • Azt is felismerik, hogy tovább optimalizálhatják a rendszert a növekedésre azáltal, hogy eltávolítják a jegyadatokat a régi eseményekből. A régi események keresése nem olyan dolog, amelyet a jegyérvényesítési rendszernek el kell végeznie, így az adatok áthelyezhetők egy jelentéskészítésre és előzménykeresésre dedikált tárolóba.

Tesztelje tudását

1.

Igaz vagy hamis: a teljesítménytesztelés éles környezetben nem ajánlott.

2.

A számítási feladat alábbi aspektusai közül melyiket kell figyelnie annak érdekében, hogy a teljesítménycélok teljesüljenek?

3.

Miért tervezi a Contoso csapata az adatbázis szerkezetének módosítását?