Teljesítményhatékonysági kompromisszumok
A teljesítménycélokat túlterheltség nélkül teljesítő számítási feladatok hatékonyak. A teljesítményhatékonyság célja, hogy elegendő kínálat legyen a kereslet mindenkori kezeléséhez. A teljesítményhatékonyság fő stratégiái közé tartozik a kódoptimalizálások, a tervezési minták, a kapacitástervezés és a skálázás megfelelő használata. Ennek az alappillérnek az egyértelmű teljesítménnyel kapcsolatos céljai és tesztelése.
A számítási feladatok teljesítménycéljainak egyeztetése és a számítási feladatok teljesítményhatékonyságra való megtervezése során fontos tisztában lenni azzal, hogy a Teljesítményhatékonyság tervezési alapelvei és a Teljesítményhatékonyságra vonatkozó tervezési felülvizsgálati ellenőrzőlista ajánlásai hogyan befolyásolhatják más pillérek optimalizálási céljait. Egyes teljesítményhatékonysági döntések bizonyos pillérek előnyére válhatnak, de kompromisszumokat jelentenek mások számára. Ez a cikk a számítási feladatok architektúrájának és a teljesítményhatékonyság érdekében végzett műveleteknek a tervezésekor előforduló példákat sorolja fel.
Teljesítményhatékonyság-kompromisszumok a megbízhatósággal
Kompromisszum: Csökkentett replikáció és nagyobb sűrűség. A megbízhatóság egyik sarokköve a rugalmasság biztosítása a replikáció használatával és a meghibásodások robbanási sugarának korlátozásával.
Egy olyan számítási feladat, amely a skálázás késleltetésével éri el a skálázást, amíg az utolsó felelősségteljes pillanat nem felel meg az igényeknek, de sebezhető az előre nem látható csomóponthibákkal és a skálázási késésekkel szemben.
A számítási feladatok erőforrásainak összevonása többletkapacitást használhat, és javíthatja a hatékonyságot. Ez azonban növeli a hibás működés robbanási sugarát a közösen elhelyezett összetevőben vagy alkalmazásplatformon.
A kapacitásfelesleg minimalizálása érdekében történő skálázás vagy leskálázás miatt a számítási feladatok kihasználatlanok maradnak a kihasználtság kiugrása során, ami szolgáltatáskimaradásokhoz vezet a nem megfelelő kínálat miatt.
Kompromisszum: Megnövekedett összetettség. A megbízhatóság elsőbbséget ad az egyszerűségnek.
Az automatikus skálázás használata a számítási feladatok igény szerinti elosztásához ingadozást biztosít a számítási feladat topológiájában, és hozzáad egy olyan összetevőt, amely a rendszer megbízható működéséhez megfelelően működik. Az automatikus skálázás további alkalmazás-életciklus-eseményeket, például indítást és leállítást eredményez.
Az adatparticionálás és a horizontális skálázás segít elkerülni a nagy vagy gyakran használt adathalmazok teljesítményproblémáit. Ezeknek a mintáknak a megvalósítása azonban növeli az összetettséget, mivel a (végleges) konzisztenciát további erőforrások között kell fenntartani.
Az adatok optimalizált hozzáférési mintákhoz való denormalizálása javíthatja a teljesítményt, de összetettséghez vezet, mivel több adatmegjelenítést kell szinkronizálni.
A teljesítményközpontú felhőtervezési minták néha további összetevők bevezetését is szükségessé teszik. Ezeknek az összetevőknek a használata növeli a számítási feladat felületét. Az összetevőket ezután megbízhatóvá kell tenni, hogy a teljes számítási feladat megbízható maradjon. Példák:
- Egy üzenetbusz a terhelés simításához, amely egy kritikus, állapotalapú összetevőt vezet be.
- Az automatikusan skálázott replikák terheléselosztója, amely megbízható működést és replikák beléptetését igényli.
- Adatok kiszervezése gyorsítótárakba, ami megbízható gyorsítótár-érvénytelenítési megközelítéseket igényel.
Kompromisszum: Tesztelés és megfigyelés aktív környezeteken. Az éles rendszerek szükségtelen használatának elkerülése a megbízhatóság önmegőrző megközelítése.
Az aktív környezetekben végzett teljesítménytesztelés, például a szintetikus tranzakciók használata, a tesztműveletek vagy konfigurációk miatt működési zavarok kialakulásának kockázatát hordozza magában.
A számítási feladatokat olyan alkalmazásteljesítmény-monitorozási (APM) rendszerrel kell létrehozni, amely lehetővé teszi, hogy a csapatok tanuljanak az aktív környezetekből. Az APM-eszköz telepítése és konfigurálása alkalmazáskódban vagy üzemeltetési környezetben történik. A nem megfelelő használat, a korlátozások túllépése vagy az eszköz helytelen konfigurálása veszélyeztetheti annak működését és karbantartását, ami ronthatja a megbízhatóságot.
Teljesítményhatékonysági kompromisszumok a biztonsággal
Kompromisszum: A biztonsági ellenőrzések csökkentése. A biztonsági vezérlők több rétegben vannak létrehozva, néha redundánsan, hogy mélységi védelmet biztosítsanak.
A teljesítményoptimalizálás egyik stratégiája, hogy eltávolítja vagy megkerüli azokat az összetevőket vagy folyamatokat, amelyek hozzájárulnak a folyamatok késéséhez, különösen akkor, ha a feldolgozási idejük nem indokolt. Ez a stratégia azonban veszélyeztetheti a biztonságot, és alapos kockázatelemzésnek kell kísérnie. Tekintse meg a következő példákat:
A titkosítás átvitel közben vagy inaktív állapotban történő eltávolítása az átviteli sebesség javítása érdekében az adatokat potenciális integritási vagy bizalmassági incidenseknek teszi ki.
A biztonsági vizsgálati vagy vizsgálati eszközök eltávolítása vagy csökkentése a feldolgozási idő csökkentése érdekében veszélyeztetheti az ilyen eszközök által védett bizalmasságot, integritást vagy rendelkezésre állást.
A biztonsági javítások gyakoriságának csökkentése a teljesítményre gyakorolt hatás csökkentése érdekében sebezhetőbbé teheti a számítási feladatokat a felmerülő fenyegetések ellen.
Ha eltávolítja a tűzfalszabályokat a hálózati folyamatokból a hálózati késés javítása érdekében, nemkívánatos kommunikációt tehet lehetővé.
A gyorsabb adatfeldolgozás érdekében végzett adatérvényesítés minimalizálása veszélyeztetheti az adatintegritást, különösen akkor, ha a bemenetek rosszindulatúak.
Ha kevesebb entrópiát használ a titkosítási vagy kivonatolási algoritmusokban, például az inicializálási vektoron (IV), hatékonyabb, de megkönnyíti a titkosítás feltörését.
Kompromisszum: A számítási feladatok felületének növelése. A biztonság prioritást ad a csökkentett és zárt felületnek a támadási vektorok minimalizálása és a biztonsági vezérlők kezelésének csökkentése érdekében.
A teljesítményközpontú felhőtervezési minták néha további összetevők bevezetését is szükségessé teszik. Ezek az összetevők növelik a számítási feladat felületét. Az új összetevőket biztonságossá kell tenni, lehetőleg olyan módon, amelyet még nem használnak a rendszerben, és gyakran növelik a megfelelőségi hatókört. Vegye figyelembe az alábbi gyakran hozzáadott összetevőket:
Üzenetbusz a terhelés simításához
Terheléselosztó automatikusan skálázott replikákhoz
Adatok kiszervezése gyorsítótárakba, alkalmazáskézbesítési hálózatokba vagy tartalomkézbesítési hálózatokba
Feldolgozás kiszervezése háttérfeladatok vagy akár ügyfélszámítások számára
Kompromisszum: Szegmentálás eltávolítása. A biztonsági pillér az erős szegmentálást helyezi előtérbe, hogy lehetővé tegye a részletes biztonsági vezérlőket és csökkentse a robbanási sugarat.
Az erőforrások megosztása a hatékonyság javítására szolgáló megközelítés. Növeli a sűrűséget a kapacitás kihasználtságának optimalizálása érdekében. Ilyenek például a több-bérlős forgatókönyvek, vagy a különböző alkalmazások kombinálása egy architektúrában egy közös alkalmazásplatformon. A megnövekedett sűrűség a következő biztonsági problémákhoz vezethet:
Az egyik bérlőről a másikra történő jogosulatlan oldalirányú mozgás megnövekedett kockázata.
A megosztott számítási feladatok identitása, amely megsérti a minimális jogosultság elvét, és elhomályosítja az egyes auditnaplókat a hozzáférési naplókban.
A peremhálózati biztonsági vezérlők, például a hálózati szabályok, amelyek az összes közösen elhelyezett összetevőre kiterjednek, így az egyes összetevők a szükségesnél több hozzáférést kapnak.
Az alkalmazásplatform-gazdagép vagy egy adott összetevő sérülése egy nagyobb robbanási sugár miatt. Ezt a növekedést a közösen elhelyezett összetevőkhöz való könnyebb hozzáférés okozza.
A különböző összetevők együttes meghatározása több összetevőt eredményez a megfelelőségi hatókörben a megosztott gazdagép miatt.
Teljesítményhatékonyság-kompromisszumok a költségoptimalizálással
Kompromisszum: Túl sok a kereslet. Mind a költségoptimalizálás, mind a teljesítményhatékonyság prioritást ad a kereslet kiszolgálásához.
A túlterheltség kockázatot jelent, ha a csapatok megpróbálják enyhíteni a számítási feladatok teljesítményproblémáinak problémáját. A túlépítés néhány gyakori oka a következők:
- A kezdeti kapacitástervezést tévesen értelmezték, mert a csapat csak a maximális terhelésbecslésekre összpontosított, és figyelmen kívül hagyja a számítási feladatok tervezésének csúcssimítási stratégiáit.
- Erőforrás vertikális fel- vagy horizontális felskálázása egy incidensmegoldás hibaelhárítási lépése során.
Az automatikus skálázás helytelenül konfigurálható. Néhány példa a helytelenül konfigurált automatikus skálázásra:
- Az igény minimális változásaival vagy a kiterjesztett hűtési időszakkal történő vertikális felskálázás több költséggel jár, mint amennyit az igény igényel.
- Az automatikus skálázás felső korlát nélküli használata rendszerhibák vagy visszaélés miatt ellenőrizetlen növekedéshez vezethet, és túllépheti a várt számítási feladatokra vonatkozó követelményeket.
A több régióra való bővítés növelheti a teljesítményt azáltal, hogy közelebb hozza a számítási feladatokat a felhasználóhoz, és elkerülheti az ideiglenes erőforrás-kapacitáskorlátokat. Emellett azonban összetettség és erőforrás-duplikáció is hozzáadva.
Kompromisszum: További összetevők. Az egyik költségoptimalizálási technika a sűrűség növelésével, a duplikációk eltávolításával és a funkciók együttes keresésével kisebb számú erőforrással való összevonás.
A teljesítményközpontú felhőtervezési minták néha további összetevők bevezetését teszik szükségessé. Ezek az extra összetevők általában a számítási feladat általános költségnövekedéséhez vezetnek. Előfordulhat például, hogy a jobb válaszidő érdekében egy üzenetbuszt is tartalmaz egy alkalmazás vagy tartalomkézbesítési hálózat terhelés-simítási vagy kiszervezési feladataihoz.
Az erőforrás-szegmentálás lehetővé teszi, hogy a számítási feladatok különböző részei eltérő teljesítményjellemzőkkel rendelkezzenek, ami lehetővé teszi az egyes szegmensek független finomhangolását. Növelheti azonban a teljes tulajdonjogi költségeket, mivel egyetlen általános összetevő helyett több optimalizált szegmenst igényel.
Kompromisszum: A funkcionális követelményeknek nem megfelelő elemekre irányuló nagyobb befektetés. A költségoptimalizálás egyik megközelítése az üzembe helyezett megoldások által biztosított érték kiértékelése.
A prémium szolgáltatások és termékváltozatok segíthetnek a számítási feladatoknak a teljesítménycélok elérésében. Ezek a szolgáltatások általában többe kerülnek, és további funkciókat biztosítanak. Ezek kihasználatlanok lehetnek, ha sok prémium funkciót nem használnak kifejezetten teljesítménycélok teljesítéséhez.
A teljesítményteljesítő számítási feladatok telemetriai adatokat igényelnek a megfigyelhetőséghez, amelyeket át kell helyezni és tárolni kell. Az összegyűjtött teljesítménytelemetria növekedése növelheti a telemetriai adatok átvitelének és tárolásának költségeit.
A teljesítménytesztelési tevékenységek olyan költségeket adnak hozzá, amelyek nincsenek társítva az éles rendszer értékével. A teljesítménytesztelési költségek például a következők:
- Teljesítményközpontú tesztekhez dedikált környezetek példányosítása.
- Speciális teljesítményeszközzel.
- A tesztek futtatásához szükséges idő.
A betanítási csapat tagjai a speciális teljesítményoptimalizálási feladatokért, illetve a teljesítményhangolási szolgáltatásokért való fizetés növelik a számítási feladatok költségeit.
Teljesítményhatékonyság-kompromisszumok az operatív kiválósággal
Kompromisszum: Csökkent megfigyelhetőség. A megfigyelhetőség szükséges ahhoz, hogy egy számítási feladat értelmes riasztást biztosítson, és biztosítsa a sikeres incidenskezelést.
A napló- és metrikamennyiség csökkentése a telemetriai adatok gyűjtésére fordított feldolgozási idő csökkentése érdekében a többi feladat helyett csökkenti a rendszer általános megfigyelhetőségét. Néhány példa az eredményként kapott korlátozott megfigyelhetőségre:
- Korlátozza azokat az adatpontokat, amelyek értelmes riasztások létrehozására szolgálnak.
- Ez az incidenskezelési tevékenységek lefedettségének hiányosságaihoz vezet.
- Korlátozza a biztonsági és megfelelőségi szempontból érzékeny interakciók és határok megfigyelhetőségét.
A teljesítménytervezési minták megvalósításakor a számítási feladat összetettsége gyakran nő. A rendszer összetevőket ad hozzá a kritikus folyamatokhoz. A számítási feladatok monitorozási stratégiájának és a teljesítményfigyelésnek tartalmaznia kell ezeket az összetevőket. Ha egy folyamat több összetevőre vagy alkalmazáshatárra is kiterjed, a folyamat teljesítményének monitorozásának összetettsége nő. A folyamatteljesítményt az összes összekapcsolt összetevő között korrelálni kell.
Kompromisszum: A műveletek összetettségének növelése. Az összetett környezet összetettebb interakciókkal rendelkezik, és nagyobb a valószínűsége annak, hogy a rutinműveletek, az alkalmi és a vészhelyzeti műveletek negatív hatással járnak.
A teljesítményhatékonyság növelése a sűrűség növelésével növeli a működési feladatok kockázatát. Egy folyamat hibáinak nagy robbanási sugara lehet.
A teljesítménytervezési minták implementálásával befolyásolják az olyan üzemeltetési eljárásokat, mint a biztonsági mentések, a kulcsrotálások és a helyreállítási stratégiák. Az adatparticionálás és a horizontális skálázás például bonyolíthatja a rutinfeladatokat, amikor a csapatok megpróbálják biztosítani, hogy ezek a tevékenységek ne befolyásolják az adatkonzisztenciát.
Kompromisszum: Kulturális stressz. A működési kiválóság a hibáztatás, a tisztelet és a folyamatos fejlődés kultúrájában gyökerezik.
A teljesítményproblémák alapvető okelemzésének elvégzése azonosítja a javítást igénylő folyamatok vagy megvalósítások hiányosságait. A csapatnak tanulási lehetőségnek kell tekintenie a gyakorlatot. Ha a csapattagokat hibáztatják a problémákért, a morál is érintett lehet.
A rutin- és alkalmi folyamatok hatással lehetnek a számítási feladatok teljesítményére. Ezeket a tevékenységeket gyakran célszerű csúcsidőn kívül elvégezni. A csúcsidőn kívüli órák azonban kényelmetlenek lehetnek, vagy a normál munkaidőn kívül is lehetnek azok a csapattagok számára, akik ezekért a feladatokért felelősek vagy képzettek.
Kapcsolódó hivatkozások
Ismerkedjen meg a többi pillérre vonatkozó kompromisszumokkal:
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: