Megosztás a következőn keresztül:


Javaslatok a kritikus folyamatok teljesítményének rangsorolásához

Az Azure Well-Architected Framework teljesítményhatékonysági ellenőrzőlistájára vonatkozó javaslatra vonatkozik:

PE:09 Rangsorolja a kritikus folyamatok teljesítményét. A számítási feladatok erőforrásainak lefoglalása és a teljesítményoptimalizálási erőfeszítések prioritást élveznek a legfontosabb üzleti folyamatokat, felhasználókat és műveleteket támogató folyamatokkal.

Ez az útmutató a számítási feladatok kritikus folyamatainak teljesítményének rangsorolására vonatkozó javaslatokat ismerteti. A kritikus folyamatok kulcsfontosságú üzleti folyamatokat képviselnek, amelyek bevételt hoznak létre, vagy magas prioritású műveleteket hajtanak végre. A kritikus folyamatok teljesítményének rangsorolásakor győződjön meg arról, hogy a legnagyobb hatással járó folyamatok az alacsonyabb prioritású folyamatok előtt megkapják a szükséges erőforrásokat. A rangsorolás elmulasztása aránytalan negatív hatással lehet a számítási feladatok prioritásaira és a felhasználói élményre.

Definíciók

Időszak Definíció
Folyamat Egy számítási feladatban egy adott függvényt végrehajtó műveletek sorozata. A folyamat magában foglalja az adatok áthelyezését és a folyamatok futtatását a számítási feladat összetevői között.
Prioritási várólista feldolgozása A magas prioritású tevékenységek feldolgozása az alacsony prioritású tevékenységek előtt.
Sebességkorlátozás Az erőforráshoz való hozzáférés korlátozása.
Rendszerfolyamat A rendszeren belüli információk és folyamatok áramlása. A rendszer automatikusan követi ezt a folyamatot a felhasználói folyamatok vagy a számítási feladatok funkcióinak engedélyezéséhez.
Felhasználói folyamat A feladat végrehajtásához a felhasználó által követett sorrend.

Kulcsfontosságú tervezési stratégiák

A kritikus folyamatok az ügyfelek fő felhasználói folyamataira, illetve a rendszerre és a számítási feladatok működéséhez elengedhetetlen műveletek adatfolyamára vonatkoznak. Ezek a folyamatok tartalmazhatnak olyan műveleteket, mint a felhasználói regisztrációk, a bejelentkezések, a termékvásárlások, a fizetőfal mögötti oldalak elérése, vagy bármely más kulcsútvonal vagy folyamat a számítási feladaton belül.

A kritikus folyamatok jelentősen befolyásolják a felhasználói élményt vagy az üzleti műveleteket. A kritikus folyamatok teljesítménycéljai és szolgáltatásiszint-szerződései magasabbak, mint a nem kritikus folyamatoké. Ha az erőforrások korlátozottak, a nem kritikus folyamatoknak erőforrás-használatot kell eredményeznie a kritikus folyamatok számára. A kritikus folyamatok elkülönítése és optimalizálása előtt azonosítania, figyelnie és rangsorolnia kell az összes folyamatot.

Az összes folyamat azonosítása

A kritikus folyamatok teljesítményének rangsorolásának első lépése az összes folyamat azonosítása a számítási feladaton belül. A folyamat azonosítása magában foglalja a felhasználói útvonalak és az összetevők kommunikációinak szisztematikus leképezését és megértését. A fókusz a teljesítménymetrikák megismerésén és a folyamatok számítási feladatok teljesítményére gyakorolt lehetséges hatásának megértésén van.

Ha a számítási feladatot különálló folyamatokra bontja, teljesítménybeli szűk keresztmetszeteket, nem hatékony erőforrás-használatot és teljesítményoptimalizálási lehetőségeket találhat. Ez a tudás feltárja a szükséges fejlesztés területeit, és ez a kritikus folyamatok azonosításának első lépése. További információ: Felhasználói és rendszerfolyamatok azonosítása és értékelése.

Folyamatteljesítmény-metrikák monitorozása

Miután azonosította a számítási feladaton belüli összes folyamatot, teljesítménymetrikákat kell gyűjtenie az egyes folyamatokon, és figyelnie kell ezeket a metrikákat. A folyamatmetrikák betekintést nyújtanak a válaszidőkbe, a hibaarányokba és az átviteli sebességbe. A cél a teljesítményhez kapcsolódó metrikák következetes megfigyelése és rögzítése, hogy jobban megértse az egyes folyamatok számítási feladatok teljesítményére gyakorolt hatását. A folyamatmetrikák monitorozásához az alábbi eszközökkel gyűjthet adatokat:

  • Elemzési és követési eszközök: Ezek az eszközök betekintést nyújtanak az alkalmazás felhasználói viselkedésébe és interakcióiba. A felhasználói adatok elemzésével azonosíthatja a leggyakoribb folyamatokat, szűk keresztmetszeteket vagy lehetséges problémákat.

  • Alkalmazásteljesítmény-monitorozási (APM-) eszközök: Az APM-eszközökkel monitorozhatja az alkalmazás teljesítményét, és nyomon követheti a folyamatok futását. Ezek az eszközök betekintést nyújtanak a válaszidőkbe, a hibákba és más teljesítménymetrikákba, így azonosíthatja a kritikus folyamatokat, és optimalizálhatja azok teljesítményét.

  • Naplózási és hibakeresési eszközök: Ezekkel az eszközökkel rögzítheti és elemezheti a naplókat és a hibakeresési információkat az alkalmazás futtatása közben. Tekintse át a naplókat és a hibakeresési információkat a folyamatok futásának nyomon követéséhez és a problémák vagy hibák azonosításához.

Kritikus folyamatok azonosítása

A rendelkezésre álló teljesítményadatokkal megkezdheti az összes folyamat rangsorolását és a kritikus folyamatok azonosítását. A kritikus folyamatok azonosítása magában foglalja az egyes folyamatok teljesítményre gyakorolt hatását és kritikusságát. A hatékony folyamat-rangsorolás biztosítja, hogy a legfontosabb folyamatok megkapják a kevésbé kritikus folyamatok előtt szükséges erőforrásokat. Az alkalmazás folyamatainak rangsorolásához vegye figyelembe az alábbi lépéseket:

  • Az üzleti hatás azonosítása: Első lépésként mérje fel az egyes folyamatok fontosságát a műveleteken belül. Összpontosítson arra, hogy az egyes folyamatok hogyan összhangban vannak az üzleti célkitűzéseivel, a felhasználókra gyakorolt hatásával és a gyenge teljesítmény lehetséges negatív hatásaival. Míg például egy ingyenes szolgáltatási szint több felhasználót vonzhat, a fizetős szint létfontosságú lehet az üzleti célok szempontjából.

    Emellett vegye figyelembe egy folyamat teljesítményre gyakorolt hatását egy vagy több üzleti folyamatra. Több folyamat is támogathat egyetlen üzleti folyamatot, de gyakran egy folyamat jelentős hatással van a folyamat teljesítményére. Meg szeretné határozni, hogy mely folyamatokra van a legnagyobb hatással a teljesítmény. Ezzel szemben egyetlen folyamat több folyamatot is támogathat. Ilyen esetekben a folyamat teljesítménye közvetlenül befolyásolja az összes kapcsolódó folyamat hatékonyságát, és valószínűleg kritikus folyamat.

  • Teljesítményadatok elemzése: Az egyes folyamatokhoz társított teljesítménymetrikák elemzése. Keressen olyan mintákat, rendellenességeket vagy kiemelkedő metrikákat, amelyek betekintést nyújtanak a folyamat hatékonyságába és fontosságába. A jelentős használatú rendszerfolyamatok például valószínűleg fontos folyamatok.

  • Kritikussági minősítés hozzárendelése: Az üzleti hatás és a teljesítménymutatók alapján rangsorolnia kell a folyamatokat. Használjon magas, közepes és alacsony kritikussági minősítéseket. A jelentős üzleti hatást vagy nagy teljesítményt igénylő folyamatoknak "Magas" kritikussági minősítést kell kapniuk. Ezek a folyamatok a kritikus folyamatok. Koncentráljon a nagy felhasználói forgalmat bonyolító folyamatokra, vagy közvetlen hatással van a bevétel-létrehozásra. Az alábbi táblázat a kritikus (magas) és a nem kritikus (közepes és alacsony) folyamatok jellemzőit tartalmazza.

Kritikus folyamatok Nem kritikus folyamatok
Magas kihasználtság Alacsony használat
Üzleti szempontból kritikus Nem üzleti szempontból kritikus
Költséges műveletek Kis műveletek
Időérzékeny Nem időérzékeny
Production Előkészületi
Valós idejű feldolgozás Kötegelt feldolgozás
Késés-érzékeny Nem érzékeny a késés
Fizető felhasználó Nem fizető felhasználó
Prémium szintű csomag Alapszint
Fontos feladatok Nem alapvető feladatok
Magas bevételű fiókok Alacsony bevételű fiókok

Kritikus folyamatok elkülönítése

A kritikus folyamatok elkülönítésének folyamata a kritikus folyamatok támogatására szolgáló dedikált erőforrások vagy kapacitás biztosításáról szól. Erőforrásokat és figyelmet szeretne lefoglalni az optimális felhasználói élményhez vagy jelentős üzleti eredményekhez nélkülözhetetlen folyamatokhoz. A cél annak biztosítása, hogy a kritikus folyamatok elegendő számítási teljesítményt, hálózati sávszélességet és erőforrásokat kapjanak a hatékony és hatékony működéshez. A kritikus folyamatok elkülönítésével könnyebben kezelheti a kritikus folyamatokat támogató erőforrásokat. Az alábbiakban a kritikus folyamatok elkülönítésére vonatkozó javaslatokat talál:

  • Erőforrás-szegmentálás: Hozzon létre külön erőforrásokat a kritikus folyamatokhoz, amelyek lehetővé teszik, hogy más folyamatoktól függetlenül működjenek. Elkülönítheti például a kritikus folyamatokat a dedikált hálózati szegmenseken, vagy dedikált kiszolgálók használatával kezelheti ezeknek a folyamatoknak a feldolgozási igényeit. Ez a megközelítés segít minimalizálni, hogy a nem kritikus folyamatok milyen negatív hatással lehetnek a kritikus folyamatokra.

  • Logikai szegmentálás: A folyamatok szoftverszintű elkülönítéséhez használjon virtualizálási és tárolóizációs eszközöket, például a Dockert vagy a Kubernetes-t. A kritikus folyamatokat elkülönítheti virtuális gépekre (VM-ekre). Ezzel egy elkülönített környezetet hoz létre, amely csökkenti a függőségeket és a más folyamatokból származó esetleges interferenciákat.

  • Kapacitásfoglalás: Kritikus folyamatok esetén explicit módon foglaljon le egy rögzített kapacitáskészletet, például a CPU-t, a memóriát és a lemez I/O-ját. Ez a kiosztás biztosítja, hogy a kritikus folyamatok mindig elegendő erőforrással rendelkezzenek a hatékony működéshez. Állítson be erőforráskvótákat vagy -korlátokat vezénylési platformok használatával. Az erőforrások kritikus folyamatokhoz való explicit kiosztásával megakadályozhatja az erőforrások versengését, és rangsorolhatja a futtatás módját.

Kompromisszum: Az erőforrás szegmentálása hatással van a költségekre. Amikor erőforrásokat szentel egy folyamatnak, gyakran növeli a költségeket, és egyes erőforrások kihasználatlanok maradnak. A kritikus folyamatok teljesítménybeli javulásának igazolásához az üzleti hatás növekedésének meg kell haladnia a költségnövekedést.

Kapacitásfoglalás optimalizálása

Ha nem tudja elkülöníteni a kritikus folyamatokat, a következő legjobb megoldás a kritikus folyamatok rangsorolása a rendelkezésre álló kapacitás elérésekor. A kapacitáskiosztás optimalizálása a rendelkezésre álló kapacitások kritikusságuk alapján történő stratégiai elosztásáról szól. A kapacitás magában foglalja a processzort, a memóriát, a tárolást és a hálózati sávszélességet. A cél annak biztosítása, hogy a legkritikusabb folyamatok (a legmagasabb prioritás) megkapják a hatékony működéshez szükséges kapacitást. A kapacitás lefoglalásának eldöntéséhez vegye figyelembe az alábbi stratégiákat:

  • Erőforrás-kapacitás értékelése: Értékelje ki, hogy mennyi erőforrás-kapacitás foglalható le a folyamatokhoz. A kapacitás tartalmazhat olyan erőforrásokat, mint a cpu, a memória, a tárterület és a hálózati sávszélesség. Megismerheti az infrastruktúra vagy a környezet korlátait és korlátozásait.

  • Folyamatkövetelmények elemzése: Elemezze az egyes folyamatok erőforrás-követelményeit. Ismerje meg, hogy a folyamatnak milyen erőforrásokra van szüksége a hatékony működéshez. Minden folyamat esetében azonosítsa az erőforrásigényeket, például a processzorhasználatot, a memóriaigényeket és a hálózati sávszélességet.

  • Foglalások rangsorolása: Egyezzen a rendelkezésre álló erőforrás-kapacitással a folyamatok erőforrásigényével. Erőforrások lefoglalása folyamatprioritások alapján, biztosítva, hogy a magasabb prioritású folyamatok megkapják a követelményeknek való megfeleléshez szükséges erőforrásokat. Ismerje meg, hogy hol vannak a legszorosabb korlátozások, és optimalizálja a kapacitásfoglalásokat ott, ahol szükség van rájuk. Az üzenetsorok például percenként csak bizonyos üzeneteket tudnak feldolgozni, de bizonyos tárolási korlátok nehezen érhetők el.

  • Sebességkorlátozás használata: Annak biztosítása érdekében, hogy a kritikus folyamatok felhasználhassák a teljesítménycéljaik teljesítéséhez szükséges erőforrásokat, alkalmazzon sebességkorlátokat a nem kritikus folyamatokra és tevékenységekre. A sebességkorlátok az alacsonyabb prioritású folyamatokra vonatkozó kérések számát korlátozzák, és a felhasználók korlátozott erőforrásokat használhatnak. Előfordulhat például, hogy egy API-ra korlátozza a nemprioritásra vonatkozó kéréseket. További információ: Sebességkorlátozási minta és HTTP-kezelők sebességkorlátozása a .NET-ben.

  • Prioritási várólista-feldolgozás használata: A prioritásos üzenetsor-feldolgozás magas prioritást biztosít bizonyos kéréseknek. Az üzenetsorok általában az első, első kimenő (FIFO) struktúrával rendelkeznek, de frissítheti az alkalmazást, hogy prioritást rendeljen az üzenetsorhoz hozzáadott üzenetekhez. Ezzel a képességgel rangsorolhatja a kritikus folyamatokat és a felhasználókat. További információt a Prioritási üzenetsor mintája című témakörben talál.

Kockázat: Kihívást jelenthet a kritikus folyamatok igényeinek és a számítási feladatok általános teljesítményének kiegyensúlyozása. Bár fontossági sorrendbe kell tenni a kritikus folyamatokat, nem szabad figyelmen kívül hagynia a nem kritikus folyamatokat. A számítási feladatok általános teljesítményhatékonysága az összes folyamattól függ. Az elhanyagolt nem kritikus folyamatok az összes felhasználót érintő problémákat okozhatnak. A nem fontos elemek túl sok zaja ellopja a kritikus elemek figyelmét. A túl kevés zaj azonban árthat a teljes számítási feladatnak. Az adatok mennyiségének és a riasztások számának tükröznie kell ezeket a kiegyensúlyozott prioritásokat.

Azure-beli facilitálás

Folyamatok azonosítása és monitorozása: Az Azure különböző megoldásokat kínál a kritikus folyamatok teljesítményének monitorozásához a számítási feladatban. Az Azure Monitor, az Azure Monitor-naplók és a Azure-alkalmazás Insights olyan szolgáltatások, amelyek átfogó monitorozási képességeket kínálnak számos alkalmazástípushoz és számítási feladathoz.

Kapacitásfoglalások optimalizálása: Egyes Azure-szolgáltatások támogatják az erőforrások szegmentálását, a logikai szegmentálást és a kapacitáskiosztási technikákat a kapacitás és az erőforrások kritikus folyamatokhoz való lefoglalásához. A kritikus folyamatokat elkülönítheti olyan technikákkal, mint a különálló erőforrások létrehozása, a sűrűség növelése, a virtualizálás és a tárolók használata, valamint az erőforrások kritikus folyamatokhoz való explicit kiosztása.

Egyes Azure-szolgáltatások, például az Azure API Management beépített szabályzatokat biztosítanak a sebességkorlátozáshoz. Az Azure részletes útmutatást és mintaalkalmazást biztosít a Sebességkorlátozás tervezési mintához.

Az Azure támogatja a prioritási várólista feldolgozását. Azure Functions olyan eseményvezérelt függvényeket biztosít, amelyeket különböző módokon aktiválhat, például egy üzenetsor vagy témakör új üzenete által. Egyesítse Azure Functions az Azure Queue Storage-nal vagy Azure Service Bus az üzenetek prioritása alapján történő feldolgozásához.

Teljesítményhatékonyság ellenőrzőlista

Tekintse meg a javaslatok teljes készletét.