Javaslatok a folyamatos teljesítményoptimalizáláshoz

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

PE:12 Folyamatosan optimalizálja a teljesítményt. Az olyan összetevőkre összpontosíthat, amelyek idővel romló teljesítményt mutatnak, például az adatbázisokra és a hálózati funkciókra.

Ez az útmutató a folyamatos teljesítményoptimalizálásra vonatkozó javaslatokat ismerteti. A folyamatos teljesítményoptimalizálás a teljesítményhatékonyság folyamatos monitorozásának, elemzésének és javításának folyamata. A teljesítményhatékonyság alkalmazkodik a kereslet növekedéséhez és csökkenéséhez. A teljesítményoptimalizálásnak folyamatos tevékenységnek kell lennie a számítási feladat teljes élettartama alatt. A számítási feladatok teljesítménye gyakran csökken vagy túlzottsá válik az idő múlásával, és figyelembe kell venni a használati minták, a kereslet, a funkciók és a műszaki adósság változásait is.

Definíciók

Időszak Definíció
Adatrétegezés Egy tárolási stratégia, amely magában foglalja az adatok besorolását a hozzáférési gyakorisága alapján, és ennek megfelelően tárolja a tárolási szinteken.
Műszaki adósság A halmozott hatékonysági hiányosságok, az optimálisnál rosszabb tervezési döntések vagy a fejlesztési folyamat során szándékosan végrehajtott billentyűparancsok a kód gyorsabb kézbesítése érdekében.
Élettartam Egy mechanizmus, amely beállítja az adatok lejárati idejét.

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

A teljesítményhatékonyság az, ha a számítási feladatok kapacitása a tényleges használathoz igazodik. A túlteljesített számítási feladatok ugyanolyan problémásak, mint az alulteljesítettek. A kompromisszumok különböznek. A túlteljesedés hatással van a költségoptimalizálásra. A gyenge teljesítmény hatással van a felhasználókra. A teljesítményhatékonyság kulcsa a monitorozás, a beállítás és a tesztelés az idő múlásával. Rendszeresen át kell tekintenie a teljesítménymetrikákat, és szükség szerint módosítania kell a számítási feladat hatékony működését. A teljesítménycélok eléréséhez az implementáció előtti és utáni összes módosítás tesztelése szükséges.

Teljesítménykultúra fejlesztése

A teljesítménykultúra olyan környezet, amelyben folyamatos fejlődés várható, és a csapat tanul az éles környezetből. A teljesítményoptimalizálás speciális készségeket igényel. A számítási feladatokért felelős csapatoknak a megfelelő készségekre és gondolkodásmódra van szükségük ahhoz, hogy optimalizálják a teljesítményüket az igények növekedésének és csökkenésének megfelelően. Emellett időt kell lefoglalnia a teljesítményproblémák szükséges monitorozásának és elhárításának támogatására. Ezeknek a csapatoknak egyértelmű elvárásokra van szükségük. A teljesítménycéloknak, az alapkonfigurációknak és az eltérési küszöbértékeknek (az alapkonfiguráció elfogadható távolságának) például jól láthatónak és szocializáltnak kell lenniük.

Kompromisszum: A folyamatos teljesítményoptimalizáláshoz olyan csapatra van szükség, amely rendelkezik a megfelelő képességekkel és idővel a teljesítményproblémák megkereséséhez és megoldásához. A személyzet teljesítményre való felosztása üzemeltetési költségeket ad hozzá. Ha korlátozott személyzettel rendelkezik, a folyamatos teljesítményoptimalizálás időt vehet igénybe a többi üzemeltetési feladattól.

Új platformfunkciók kiértékelése

Az új platformfunkciók értékeléséhez meg kell vizsgálni egy olyan platform új funkcióit és eszközeit, amelyek javíthatják a teljesítmény hatékonyságát, például optimalizált tárolási megoldásokat, gyorsítótárazási mechanizmusokat vagy erőforrás-kezelési eszközöket. Az új platformfunkciók olyan lehetőségeket nyithatnak meg, amelyek javítják a teljesítmény hatékonyságát. A platform és az eszközök naprakészen tartásával biztosíthatja, hogy a legújabb innovációkat és ajánlott eljárásokat használja. Folyamatosan monitorozza az új kiegészítések visszajelzéseit és teljesítménymetrikáit a megközelítés finomítása érdekében.

Optimalizálási erőfeszítések rangsorolása

A teljesítmény proaktív optimalizálása proaktív intézkedésekkel javítja és javítja a számítási feladat teljesítményét, mielőtt teljesítményproblémák lépnének fel. A proaktív intézkedések használata magában foglalja a lehetséges szűk keresztmetszetek azonosítását, a teljesítménymetrikák monitorozását és az optimalizálások megvalósítását annak érdekében, hogy a számítási feladat hatékonyan működjön, és megfeleljen a kívánt teljesítménycéloknak. A romló összetevők, a kritikus folyamatok és a műszaki adósság elemzése alapján az egyes területekre jellemző teljesítményoptimalizálásokat valósíthat meg. A fejlesztésekhez kódmódosítások, infrastruktúra-módosítások vagy konfigurációfrissítések tartozhatnak.

A romló összetevők rangsorolása

A számítási feladatok gyakran olyan összetevőkkel is rendelkeznek, mint például az adatbázisok és a hálózati összetevők, amelyek idővel hajlamosak a teljesítménycsökkenésre. A számítási feladat fejlődésével és a használati minták változásával ezek a változások gyakran befolyásolják a számítási feladat egyes összetevőinek teljesítményét. Az adatbázisok megnövekedett adatai hosszabb lekérdezésfuttatási időt és lassabb adatlekérést eredményezhetnek. A használati minták változásai a lekérdezések optimálisnál rosszabb kialakítását eredményezhetik. Az egykor hatékony lekérdezések a számítási feladat fejlődésével nem lesznek hatékonyak. A nem hatékony lekérdezések túlzott erőforrásokat használhatnak fel, és csökkenthetik az adatbázis teljesítményét. A számítási feladatok megnövekedett használata nagyobb hálózati forgalomhoz vezethet, ami torlódási és késési problémákat okozhat.

Fontos, hogy folyamatosan erőfeszítéseket tegyen ezen összetevők teljesítményének optimalizálására. Proaktívan azonosíthatja és kezelheti a számítási feladat teljesítményével kapcsolatos problémákat. Az ismert romló összetevők rangsorolásával proaktív módon kezelheti a lehetséges teljesítményproblémákat, és gondoskodhat a számítási feladatok zökkenőmentes működéséről. Ez magában foglalhatja a teljesítményhangolási technikák implementálását, az erőforrás-kiosztás optimalizálását vagy a hardver- vagy szoftverösszetevők szükség szerinti frissítését.

Kritikus folyamatok rangsorolása

A kritikus folyamatok a legfontosabb és legfontosabb munkafolyamatok a számítási feladatban. Ezeknek a kritikus folyamatoknak a rangsorolásával biztosíthatja, hogy a számítási feladat legfontosabb részei a teljesítményre legyenek optimalizálva. A kritikus folyamatok ismerete segít rangsorolni az optimalizálási erőfeszítéseket. Az alkalmazás legfontosabb területeinek teljesítményhatékonyságának optimalizálása biztosítja a legnagyobb megtérülést. Figyelnie kell a kritikus folyamatokat és a legnépszerűbb lapokat. Keresse meg, hogyan teheti őket hatékonyabbá.

Teljesítményoptimalizálás automatizálása

Az automatizálás kiküszöbölheti az ismétlődő és időigényes manuális folyamatokat, így azok hatékonyan végrehajthatók. Az automatizálás csökkenti az emberi hibák esélyét, és biztosítja a konzisztenciát az optimalizálási feladatok futtatásában. Ezeknek a feladatoknak az automatizálásával a felhasználókat is felszabadíthatja, hogy összetettebb tevékenységekre és olyan tevékenységekre összpontosítsanak, amelyek hozzáadott értéket adnak. Automatizálást alkalmazhat különböző feladatokra, például teljesítménytesztelésre, üzembe helyezésre és monitorozásra:

  • Automatizált teljesítménytesztelés: Automatizált teljesítménytesztelő eszközök, például JMeter, K6 vagy Selenium használatával szimulálhat különböző számítási feladatokat és forgatókönyveket.

  • Automatizált üzembe helyezés: Implementáljon automatizált üzembehelyezési folyamatokat a konzisztens és hibamentes üzemelő példányok biztosítása érdekében. Ci/CD-eszközökkel automatizálhatja az üzembe helyezési folyamatot. Ezek az eszközök segítenek azonosítani a teljesítménybeli szűk keresztmetszeteket, amikor a végpontokon teszteli őket, ellenőrzi a HTTP-állapotokat, és még az adatminőséget és a variációkat is ellenőrzi.

  • Monitorozás és riasztás: Automatikus figyelési és riasztási rendszerek beállítása a teljesítménymetrikák folyamatos figyeléséhez és az esetleges eltérések vagy rendellenességek észleléséhez. A teljesítményproblémák észlelésekor automatikus riasztások aktiválhatók a megfelelő csapatok vagy személyek értesítésére.

  • Incidenskezelés: Automatizált incidenskezelő rendszer implementálása, amely képes riasztásokat fogadni, jegyeket létrehozni és jegyeket rendelni a megfelelő csapatokhoz a megoldáshoz. Ezek a lépések segítenek biztosítani, hogy a teljesítményproblémákat a rendszer azonnal elhárítsa, és a megfelelő erőforrásokhoz rendelje hozzá.

  • Automatizált diagnosztika: Olyan automatizált diagnosztikai eszközöket vagy szkripteket fejleszthet, amelyek elemezhetik a teljesítményadatokat, és azonosíthatják a teljesítményproblémák kiváltó okait. Ezek az eszközök segíthetnek megállapítani a rendszer azon területeit vagy összetevőit, amelyek teljesítményproblémákat okoznak.

  • Automatikus szervizelési műveletek: Olyan automatikus szervizelési műveletek definiálása és implementálása, amelyek adott teljesítményproblémák észlelésekor aktiválhatók. Ezek a műveletek magukban foglalhatják a szolgáltatások újraindítását, az erőforrás-kiosztás módosítását, a gyorsítótárak törlését vagy más teljesítményoptimalizálási technikák megvalósítását.

  • Önjavító rendszerek: Önjavítási képességeket építhet be a rendszerbe az ismert teljesítményproblémák helyreállítási folyamatának automatizálásával. Ez a képesség magában foglalhatja a rendszerkonfiguráció automatikus rögzítését vagy módosítását az optimális teljesítmény visszaállításához.

Technikai adósság kezelése

A technikai adósság a halmozott hatékonysági hiányosságokra, az optimálisnál rosszabb tervezési döntésekre vagy a fejlesztési folyamat során a teljesítményre hatással lévő billentyűparancsokra utal. A technikai adósság, a nem egyértelmű kód és a túl összetett implementációk megnehezíthetik a teljesítményhatékonyságot. A technikai adósság kezelése magában foglalja ezeknek a problémáknak a azonosítását és megoldását a számítási feladatok általános teljesítményének és karbantarthatóságának javítása érdekében. Ez a munka magában foglalhatja a kód újrabontását, az adatbázis-lekérdezések optimalizálását, az architekturális tervezés javítását vagy az ajánlott eljárások implementálását. Előfordulhat, hogy a határidő teljesítéséhez technikai adósságot vezetett be, de a teljesítményhatékonyság időbeli optimalizálása érdekében kezelnie kell a technikai adósságot.

Adatbázisok optimalizálása

Az adatbázisok folyamatos optimalizálása magában foglalja az optimalizálások azonosítását és implementálását annak érdekében, hogy az adatbázisok kezelni tudják a terheléseket, gyors válaszidőt nyújtsanak, és minimalizálják az erőforrás-kihasználtságot. Az adatbázisok rendszeres optimalizálásával javíthatja az alkalmazások teljesítményét, csökkentheti az állásidőt, és javíthatja az általános felhasználói élményt.

  • Adatbázis-lekérdezések optimalizálása: A rosszul írt SQL-utasítások csökkenthetik az adatbázis teljesítményét. A nem hatékony JOIN feltételek szükségtelen adatfeldolgozást okozhatnak. Az összetett al lekérdezések, a beágyazott lekérdezések és a túlzott funkciók csökkenthetik a futási sebességet. A túl sok adatot lekérő lekérdezéseket újra kell írni. Azonosítania kell a leggyakoribb vagy kritikus fontosságú adatbázis-lekérdezéseket, és optimalizálnia kell őket. Az optimalizálás segít a gyorsabb lekérdezések biztosításában.

  • Indexek karbantartása: Értékelje ki az indexelési stratégiát, hogy az indexek megfelelően legyenek megtervezve és karbantartva. Az indexkarbantartás magában foglalja a nem használt vagy redundáns indexek azonosítását és a lekérdezési mintáknak megfelelő indexek létrehozását. Az adatbázis-indexek segítenek felgyorsítani az adatlekérési műveleteket. A relációs adatbázisok esetében figyelnie kell az index töredezettségét. Az indexeket rendszeresen újra kell építenie vagy újra kell szerveznie. A nem összefüggő adatbázisok esetében a számítási feladathoz megfelelő indexelési szabályzatot kell választania. Használja az automatikus hangolást az adatbázisokon, ahol elérhető. Ezek a funkciók magukban foglalják a hiányzó indexek automatikus létrehozását, a nem használt indexek eltávolítását és a tervkorrekciót. További információ: Indexek karbantartása a teljesítmény javítása érdekében.

  • Modellterv áttekintése: Tekintse át az adatmodellt, és győződjön meg arról, hogy optimalizálja azt az alkalmazás adott követelményeinek megfelelően. A lekérdezési teljesítmény és az adatok lekérésének javítása denormalizálással, particionálással vagy más technikákkal járhat.

  • Adatbázis-konfiguráció optimalizálása: Optimalizálja az adatbázis konfigurációs beállításait, például a memóriafoglalást, a lemez I/O-ját és az egyidejűségi beállításokat a teljesítmény és az erőforrás-kihasználtság maximalizálása érdekében.

Az adathatékonyság optimalizálása

Az adathatékonyság optimalizálása az adatok lehető leghatékonyabb tárolásának, feldolgozásának és elérésének biztosítása. Az adatrétegezés és az élettartam (TTL) használata olyan technikák, amelyek az adathatékonyság optimalizálására használhatók. Ezeket a technikákat különböző adattárolási forgatókönyvekben, például adatbázisokban, fájlrendszerekben vagy objektumtárolókban alkalmazhatja.

  • Adatrétegezés használata: Az adatrétegezés magában foglalja az adatok besorolását annak fontossága vagy gyakorisága alapján, és ennek megfelelően különböző szinteken tárolja az adatokat. Az adatrétegezés beállítása lehetővé teszi a tárolási erőforrások hatékonyabb használatát, és javítja a teljesítményt. A gyakran használt vagy kritikus adatok nagy teljesítményű szinteken tárolhatók, míg a ritkábban vagy kevésbé kritikus fontosságú adatok alacsonyabb költségszinteken tárolhatók. A cél az adatok időbeli használatának áttekintése annak biztosítása érdekében, hogy az adatok a megfelelő szinten legyenek. Ahogy változnak az adatprioritások, az adatoknak egyik rétegről a másikra kell váltaniuk.

  • Élettartam implementálása: Az élettartam olyan mechanizmus, amely az adatok lejárati idejét állítja be. Az élettartam lehetővé teszi az adatok automatikus törlését vagy archiválését egy bizonyos idő elteltével, csökkentve a tárolási követelményeket, és javítja az adatkezelést. A megfelelő élettartam beállításával lehetővé teszi a szükségtelen adatok eltávolítását, a tárhely felszabadítását és az általános hatékonyság növelését. A munkamenet-adatok, az ideiglenes fájlok és a gyorsítótáradatok az élettartam gyakori célpontjai. Az adatbázis-bejegyzések élettartamot is tartalmazhatnak.

Kockázat: A túl rövid élettartam teljesítményproblémákat okozhat.

Azure-beli facilitálás

A teljesítményoptimalizálás automatizálása: Az Azure Advisor automatikus teljesítményjavaslatokat biztosít a számítási feladatok telemetriai adatai alapján. Ezeket a javaslatokat rendszeresen át kell tekintenie és kezelnie kell. Az Azure Monitor valós idejű betekintést nyújt a rendszer teljesítményébe, és lehetővé teszi riasztások beállítását adott teljesítménymetrikák alapján. Az Azure Log Analytics automatizált diagnosztikát és elemzést biztosít az összegyűjtött naplókhoz és metrikákhoz. Az olyan eszközök, mint a Azure-alkalmazás Insights, elemzéseket és javaslatokat nyújtanak a teljesítmény optimalizálásához.

A szervizelés automatizálásához használjon automatizálási eszközöket vagy szkripteket a szervizelési műveletek automatikus végrehajtásához a riasztások aktiválásakor. Használhat Azure Automation, Azure Functions vagy egyéni automatizálási megoldásokat.

Az Azure lehetővé teszi a teljesítménytesztelést a különböző felhasználói forgatókönyvek és számítási feladatok szimulálásához. Az automatizált tesztelés segíthet azonosítani a teljesítmény szűk keresztmetszeteit, és ennek megfelelően optimalizálni a rendszert. Az olyan eszközök, mint az Azure DevOps, automatizálhatják a teljesítménytesztelést.

Adatbázisok optimalizálása: Az SQL-termékcsalád számos beépített funkcióval rendelkezik , amelyek lehetővé teszik az SQL-adatbázisok teljesítményének monitorozását és szervizelését. Az adatbázis teljesítményének fenntartásához ezeket a funkciókat kell használnia. Azure SQL Database automatikus hangolási funkcióval rendelkezik, amely folyamatosan figyeli és javítja a lekérdezéseket. Ezzel a funkcióval automatikusan javíthatja az SQL-lekérdezéseket.

Az indexelési szabályzatokat az Azure Cosmos DB funkcióival szabhatja testre. A szabályzatok testreszabása a számítási feladat teljesítményigényének megfelelően.

Az adathatékonyság optimalizálása: Az adatrétegezés lehetővé teszi az adatok különböző szinteken történő tárolását a hozzáférési gyakoriságuk és fontosságuk alapján. Segít optimalizálni a tárolási költségeket és a teljesítményt. Az Azure különböző tárolási szinteket biztosít, például gyakori elérésű, ritka elérésű és archív szinteket a blobadatokhoz. A gyakori elérésű szintek a gyakran használt adatokra vannak optimalizálva, a ritka elérésű szintek a ritkán használt adatokra, az archív szintek pedig a ritkán használt adatokra vannak optimalizálva. Az adatokhoz leginkább illő tárolási hozzáférési szint használatával biztosíthatja a hatékony adattárolást és lekérést.

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

Tekintse meg a javaslatok teljes készletét.