Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro toto doporučení kontrolního seznamu efektivity výkonu architektury Azure Well-Architected:
| PE:04 | Nastavte konzistentní měření výkonu, aby bylo možné chování analyzovat v průběhu času, porovnat se standardními hodnotami a použít k detekci snížení výkonu, neefektivity a mezer ve škálování. |
|---|
Bez údajů o výkonu zůstávají podkladové problémy a příležitosti optimalizace bez povšimnutí, což vede ke zhoršení uživatelského zážitku.
Tento článek popisuje strategie návrhu pro implementaci měření výkonu ve vícevrstvé vrstvě, která zachycuje latenci, propustnost a chování prostředků za účelem stanovení směrných plánů a identifikaci snížení výkonu napříč úlohou.
Klíčové strategie v tomto článku vycházejí ze základní provozní praxe pozorovatelnosti popsané ve strategiích architektury OE:07 pro návrh monitorovacího systému. Pokyny k implementaci postupu monitorování jsou k dispozici v průvodci návrhem monitorování. Doporučujeme tyto prostředky nejprve zkontrolovat. Doporučení v této příručce jsou zaměřená na výkon. Informace o spolehlivosti najdete v tématu RE:10 Strategie architektury pro navrhování spolehlivé strategie monitorování a upozorňování.
Definice
| Term | definice |
|---|---|
| Protokoly aktivit | Protokoly, které sledují operace správy prostředků, například odstranění prostředku. |
| Záznamy aplikací | Protokoly, které sledují informace o událostech, chybách a dalších aktivitách aplikace, například přihlášení nebo selhání připojení k databázi. |
| Nástroj pro monitorování výkonu aplikací (APM) | Nástroj, který monitoruje a vykazuje výkon aplikace. |
| Baselines | Očekávané metriky výkonu systému používané jako referenční bod k detekci posunu, regrese a vylepšení v průběhu času. |
| Instrumentace kódu | Přímé nebo nepřímé zaznamenání metrik výkonu z perspektivy kódu aplikace. Zaznamenané metriky zahrnují metriky toku, využití prostředků a metriky specifické pro jazyk nebo běhové prostředí. |
| Distribuované trasování | Shromažďování a korelace metrik napříč komponentami distribuovaných úloh za účelem pochopení komplexních toků transakcí |
| Latency | Časové zpoždění mezi zahájením požadavku a příjmem odpovědi, měření odezvy systému. |
| Metrics | Číselná měření, která zaznamenávají chování výkonu úloh v průběhu času, obvykle agregovaná pro účely analýzy. |
| Percentily (p50, p95, p99) | Statistické míry zobrazující rozdělení výkonu; P50 představuje typický výkon, p95 ukazuje většinu uživatelského prostředí při zatížení, p99 zachycuje nejhorší výkon. |
| Metriky platformy | Číselné hodnoty, které zaznamenávají výkon úlohy v konkrétním čase. |
Použití metrik založených na percentilu
Pomocí percentilů (p50, p95, p95, p99), ne průměrů změřte metriky výkonu, jako je latence, doba odezvy nebo časy načítání. Průměry můžou být zavádějící. Pokud je většina požadavků rychlá, ale několik z nich je extrémně pomalých, průměr bude maskovat špatnou zkušenost.
Percentily ukazují chování ocasu, což je důležité pro pochopení uživatelského prostředí. P50 představuje typický výkon, p95 ukazuje, co většina uživatelů zažívá při zatížení, a p99 zachycuje nejhorší možný výkon nebo odlehlé případy.
Shromážděte údaje o výkonu pomocí monitorovacích nástrojů a představují je jako percentily v definovaných časových oknech. Tyto hodnoty použijte jako směrný plán pro monitorování, upozorňování a analýzu výkonu.
Definování hranic zlepšení výkonu
Definujte jasné hranice výkonu, abyste přesně věděli, co je součástí měření. Rozdělte latenci v systému místo toho, aby se s ní cházeli jako s jedním číslem. Například přiřaďte čas k jednotlivým vrstvám, jako jsou edge služby, brány, výpočet, a závislosti, abyste viděli, kde ve skutečnosti dochází ke zpožděním.
Oddělte to, co řídíte, od toho, co ne: kód, služby, infrastruktura a přímé závislosti versus externí faktory, jako jsou podmínky na straně klienta, překlad DNS, latence poskytovatele internetových služeb nebo omezení zařízení. Toto rozlišení zabraňuje nesprávnému přiřazení a udržuje optimalizaci zaměřenou na oblasti, kde můžete provádět změny, a přitom stále odráží kompletní prostředí pro koncové uživatele.
Vyhodnoťte, kdy a kde mají problémy s výkonem vliv na uživatelské prostředí. Kompenzace snížení výkonu prostřednictvím návrhu nebo zmírnění prostřednictvím vylepšení kontrolovatelných částí systému.
Segmentace signálů podle prostředí a účelu
Segmentujte data o výkonu, aby každý signál odrážel jasný kontext. Oddělení podle prostředí a účelu, aby se zabránilo míchání signálů, které se chovají jinak nebo slouží k různým rozhodnutím.
Udržujte produkční a neprodukční data oddělená. Produkční data odrážejí skutečný dopad uživatelů a měly by řídit monitorování a výstrahy. Neprodukční data jsou užitečná pro testování a ladění, ale jejich míchání s produkčními daty zkresluje výsledky a skrývá skutečné problémy.
Oddělte metriky výkonu od obchodních metrik. Metriky výkonu sledují chování systému a stav úloh, zatímco obchodní metriky sledují výsledky. I když se překrývají, udržujte je v různých datových proudech, aby je bylo možné analyzovat a používat nezávisle.
Vytváření omezených a použitelných upozornění na výkon
Cílem upozorňování je včasné zjišťování snížení výkonu, než se stane viditelným uživateli nebo dopadem na podnikání. Vytvářejte výstrahy na dvou úrovních: prostředí koncového uživatele a základní interní transakce, které představují kritické systémové cesty při zatížení.
Pro cíle i výstrahy použijte jednu konzistentní datovou sadu v rámci každého prostředí. Pokud jsou výstrahy založené na různých datech, než jsou vaše cíle výkonu, stanou se nespolehlivými a obtížně důvěryhodnými.
Vytvářejte výstrahy, které jsou použitelné a jasně svázané s výsledky výkonu. Každá výstraha by měla indikovat, jaká prahová hodnota měla dlouhodobé překročení, potenciální dopad a příslušné komponenty, aby bylo jasné, kde je třeba zkoumat a čeho se to týká. Začněte standardními, dobře známými prahovými hodnotami a pak je v průběhu času zpřesněte na základě pozorovaného chování systému a charakteristik úloh.
Zvažte založení výkonnostních upozornění na modelu stavu systému. Místo nastavování upozornění pro jednotlivé metriky použijte model stavu, který reprezentuje prostředky kritické z hlediska výkonu pomocí několika signálů výkonu. Upozorňujte na změny stavu kondice, aby se složené problémy s výkonem projevily jako jediné upozornění, na které lze reagovat, místo množství překročení prahových hodnot. Azure Monitor modely stavu podporují tento model s upozorňováním na úrovni entit a hierarchickým šířením napříč závislostmi.
Pokud přímé upozorňování na externí závislost není možné, použijte nepřímé signály, jako je doba trvání volání závislostí, chybovost nebo chování časového limitu, abyste odhadli jeho dopad na výkon systému.
Monitorování elasticity
Změřte, jak váš systém reaguje na změny v poptávce a událostech škálování.
Sledujte latenci studeného startu a inicializace, abyste pochopili, jak režie při spuštění ovlivňuje odezvu, zejména během škálování. Monitorujte chování horizontálního navýšení kapacity a horizontálního snížení kapacity a vyhodnoťte, jak rychle se systém přizpůsobí změnám zatížení a jestli akce škálování udržují krok s poptávkou.
Sledování výkonu v průběhu času
Sledujte, jak se výkon vyvíjí se změnami návrhu a externích faktorů.
Nastavte základní hodnoty, které představují očekávaný výkon systému, a pak porovnejte aktuální chování s nimi, abyste zjistili odchylky, včetně regresí a vylepšení.
Použijte model stavu k reprezentaci standardních hodnot výkonu a jasně kvantifikujte, co představuje stav v pořádku, snížený výkon a stav není v pořádku pro důležité prostředky výkonu. Modely stavu v Azure Monitoru podporují statické prahové hodnoty a dynamické referenční hodnoty, které se v průběhu času přizpůsobují a automatizují detekci posunů.
Připojte změny výkonu k provozním událostem, jako jsou nasazení, aktualizace konfigurace a akce škálování. Přidávání poznámek na časové osy k těmto událostem, aby změny chování měly jasný kontext a lze je zpětně vysledovat k pravděpodobným příčinám.
Tuto průběžnou viditelnost použijte jako smyčku zpětné vazby pro technická rozhodnutí. Dejte přehled o výkonu do plánování a stanovení priorit a zacházejte s nimi jako se vstupy do běžné práce, nikoli pouze reakce na incidenty.
Průběžně upřesňuje cíle výkonu při vývoji systému. Upravte cíle úrovně služeb, prahové hodnoty a očekávání na základě pozorovaného chování a vzorů využití, aby cíle zůstaly realistické a odpovídaly skutečnému uživatelskému prostředí.
Shromažďování dat o výkonu aplikací
Potřebujete mít metriky výkonu aplikace, jako je propustnost, latence a časy dokončení, které se primárně shromažďují prostřednictvím nástrojů zabudovaných do kódu.
Instrumentujte kritické cesty provádění, kde je výkon nejviditelnější: klíčové toky požadavků, operace náročné na prostředky a body, ve kterých dochází k externím závislostem nebo opakováním. Zajistěte komplexní viditelnost transakcí, aby bylo možné měřit celkovou dobu provádění a jednotlivé kroky přispívající k celkovému času.
Zachytávání tří základních typů signálů výkonu:
- Metriky pro agregované chování výkonu (distribuce latence, propustnost, míra chyb)
- Trasování pro pochopení způsobu distribuce času napříč cestami požadavků a systémovými komponentami
- Záznamy pro podrobný kontext provedení v konkrétních krocích nebo událostech
V těchto signálech používejte konzistentní metadata, aby data o výkonu bylo možné korelovat mezi vrstvami systému a napříč službami.
Vyhněte se duplikování signálů výkonu nižší úrovně, které platforma již odhalila, pokud není potřeba další členitost k vysvětlení chování nebo kritických bodů specifických pro úlohy.
Shromažďování údajů o výkonu prostředků
Shromážděte data o výkonu na úrovni prostředků, abyste pochopili, jak se komponenty infrastruktury chovají při zatížení a jak přispívají k celkovému výkonu úloh.
Každá služba zveřejňuje metriky specifické pro danou platformu, které odrážejí jeho vlastnosti stavu a výkonu. Pomocí nastavení diagnostiky můžete tato data exportovat, aby k ní bylo možné přistupovat k výstrahám, řídicím panelům a dlouhodobější analýze nad rámec krátkodobého uchovávání platformy.
Shromážděte metriky a protokoly pro všechny prostředky. Sledujte využití výpočetních prostředků a úložiště vůči očekávaným rozsahům, abyste zajistili, že zřizování nezavádí latenci a nesnižuje výkon při zatížení. Nadměrné přidělování je také zjistitelné pomocí těchto dat tím, že se podíváte na využití P99 a porovnáte ho se zbývající kapacitou vašich zdrojů.
Monitorujte síťový provoz jako součást výkonu prostředků. Analyzujte tok provozu napříč podsítěmi a hranicemi služeb, abyste porozuměli latenci, zahlcení a vzorům přenosu dat, které můžou mít vliv na výkon úloh.
Shromažďování dat databáze a úložiště
Databázové a úložné systémy vytvářejí specializované signály výkonu pro identifikaci kritických bodů, ověřování kapacity a pochopení chování úloh. Tyto signály obvykle pocházejí z integrovaných monitorovacích nástrojů a systémem generovaných protokolů.
Zaměřte se na klíčové dimenze výkonu:
| Plocha | Co měřit | Co vám to řekne |
|---|---|---|
| Throughput | Čtení/zápis objemu v průběhu času | Kapacita přenosu dat |
| Latency | Čas na každou operaci úložiště | Rychlost odezvy úložiště |
| IOPS | Operace čtení a zápisu za sekundu | Funkce zpracování transakcí |
| Využití kapacity | Využité a dostupné úložiště | Potřeby škálování a plánování kapacity |
U databází rozšiřte monitorování na chování specifické pro úlohy:
| Plocha | Co měřit | Co vám to řekne |
|---|---|---|
| Výkonnost dotazů | Doba provádění, frekvence, využití prostředků | Efektivita vzorů přístupu k datům |
| Výkon transakcí | Doba trvání, souběžnost, kolize zámků | Kolize a transakční efektivita |
| Výkon indexu | Fragmentace, využití, dopad optimalizace | Efektivita struktur zrychlení dotazů |
| Použití prostředku | Procesor, paměť, disk, síť | Omezení na úrovni systému |
| Metriky připojení | Aktivní, neúspěšná, přerušená připojení | Stabilita a tlak připojení |
| Transakční sazba | Transakce za sekundu | Intenzita úloh a změny v průběhu času |
| Míry chyb | Chyby a chyby databáze | Signály snížení spolehlivosti a výkonu |
Pomocí těchto signálů můžete rozlišovat mezi pomalými dotazy, vyčerpáním zdrojů a strukturální neefektivitou. To umožňuje cílenou optimalizaci napříč úložnými systémy i databázovými úlohami.
Shromažďování dat o výkonu operačního systému
V případě úloh založených na infrastruktuře shromážděte metriky na úrovni operačního systému, abyste pochopili, jak se využívají výpočetní prostředky a kde mohou nastat omezení prostředků.
Snímat čítače výkonu operačního systému v pravidelných intervalech pro zachycení časového chování systému při zatížení.
| Plocha | Co měřit | Co to znamená |
|---|---|---|
| CPU | Využití procesoru (uživatel/privilegovaný), délka fronty procesoru | Saturace výpočetní kapacity a tlak na plánování |
| Processes | Počet vláken, počet popisovačů | Zátěž procesů na úrovni aplikace a operačního systému |
| Memory | Alokovaná paměť, dostupná paměť, rychlost stránkování, využití swapu | Tlak na paměť a stránkování |
| Disk | Rychlost čtení a zápis, propustnost, využití disku | Výkon vstupně-výstupních operací úložiště a kritické body |
| Network | Propustnost rozhraní, chyby RX/TX | Problémy s kapacitou sítě a přenosem |
Tyto signály slouží k identifikaci vyčerpání prostředků na úrovni operačního systému a k rozlišení mezi neefektivnostmi na úrovni aplikace a omezeními infrastruktury.
V případě potřeby vygenerujte syntetická data.
Pokud se váš systém nepoužívá konzistentně, je těžké zjistit, jestli bude fungovat dobře, když se provoz vrátí.
K vyřešení tohoto řešení použijte syntetické transakce, které prostřednictvím systému odesílají automatizované požadavky. Tyto simulují skutečné využití, aniž by to ovlivnilo skutečné uživatele nebo data. To pomáhá udržet části systému aktivní, generovat konzistentní metriky výkonu a odhalit vzory (jako jsou problémy s časem), které by mohlo nepravidelné použití skrýt.
Usnadnění na platformě Azure
Azure Monitor poskytuje jednotnou platformu pro shromažďování, analýzu a reagování na data o výkonu v rámci celé úlohy. Agreguje data z aplikací, infrastruktury a externích zdrojů do společné datové platformy.
Shromažďování a úložiště dat: Pomocí pracovních prostorů Log Analytics můžete data o výkonu centralizovat pomocí konfigurovatelných zásad uchovávání informací. Vytvořte více pracovních prostorů pro segmentování dat podle požadavků na prostředí nebo dodržování předpisů.
Modelování stavu: Modely stavu v Azure Monitoru vám pomáhají definovat, měřit a vizualizovat stav úloh korelováním metrik, protokolů a trasovacích dat do stavů, na jejichž základě lze jednat, napříč prostředky a komponentami Azure.
Monitorování aplikací: Application Insights shromažďuje telemetrii na úrovni aplikace, včetně četností požadavků, doby odezvy a výjimek. Povolte distribuované trasování, aby bylo možné korelovat výkon napříč distribuovanými komponentami.
Monitorování infrastruktury: Povolte nastavení diagnostiky ve všech službách Azure pro shromažďování protokolů platformy a metrik. Použijte rozšíření Azure Diagnostics pro podrobné údaje o výkonu virtuálních počítačů. Prozkoumejte možnosti telemetrie pro vaši konkrétní platformu. Clustery Kubernetes například generují bohatou telemetrii výkonu prostřednictvím integrací Prometheus .
Databáze a úložiště: Azure Monitor poskytuje integrované monitorování pro azure SQL Database, MySQL, PostgreSQL a služby úložiště. Analýza služby Azure Storage sleduje klíčové ukazatele výkonu, jako je propustnost a latence napříč objekty blob, tabulkami a queue storage.
Upozorňování a analýza: Vytváření pravidel upozornění s přizpůsobitelnými prahovými hodnotami, časovými okny a akcemi (e-mail, webhooky, Azure Functions). Použijte protokoly služby Azure Monitor ke křížovému dotazování a korelaci dat o výkonu. Podrobnosti o cenách najdete v tématu o cenách služby Azure Monitor.
Příklady
- Standardní vysoce dostupná zónově redundantní webová aplikace aplikačních služeb
- Monitorování aplikace mikroslužeb ve službě Azure Kubernetes Service (AKS)
- Monitorování komponent cílové zóny platforem Azure
Související odkazy
Kontrolní seznam efektivity výkonu
Podívejte se na úplný soubor doporučení.