Vyhledání a diagnostika problémů s výkonem ve službě Application Insights
Application Insights shromažďuje telemetrii z vaší aplikace a pomáhá tak analyzovat její provoz a výkon. Tyto informace můžete využít k identifikaci problémů, ke kterým může docházet, nebo k určení, která vylepšení aplikace by měla největší dopad na uživatele. Tento kurz vás provede procesem analýzy výkonu serverových komponent vaší aplikace i z pohledu uživatele.
Získáte informace pro:
- Identifikujte výkon operací na straně serveru.
- Analyzujte operace serveru a zjistěte původní příčinu pomalého výkonu.
- Identifikujte nejpomalejší operace na straně klienta.
- Analýza podrobností zobrazení stránek pomocí dotazovacího jazyka
Požadavky
Pro absolvování tohoto kurzu potřebujete:
- Nainstalujte Visual Studio 2019 s následujícími úlohami:
- Vývoj pro ASP.NET a web
- Vývoj pro Azure
- Nasazení aplikace .NET do Azure a povolení sady Application Insights SDK
- Povolit Application Insights Profiler pro vaši aplikaci.
Přihlášení k Azure
Přihlaste se k portálu Azure.
Identifikace pomalých operací serveru
Application Insights shromažďuje podrobnosti o výkonu různých operací ve vaší aplikaci. Když identifikujete operace s nejdelší dobou trvání, můžete diagnostikovat potenciální problémy nebo cílit na probíhající vývoj, abyste zlepšili celkový výkon aplikace.
Vyberte Application Insights a pak vyberte své předplatné.
Pokud chcete otevřít panel Výkon, vyberte v nabídce Prozkoumat výkon nebo vyberte graf doby odezvy serveru.
Na obrazovce Výkon se zobrazuje počet a průměrná doba trvání každé operace pro aplikaci. Tyto informace můžete použít k identifikaci operací, které mají vliv na uživatele nejvíce. V tomto příkladu jsou vzhledem k dlouhé době trvání a počtu volání vhodnými kandidáty na prošetření operace GET Customers/Details a GET Home/Index. Jiné operace můžou mít vyšší dobu trvání, ale byly volány zřídka, takže účinek jejich zlepšení by byl minimální.
Graf aktuálně ukazuje průměrnou dobu trvání vybraných operací v průběhu času. Pokud chcete najít problémy s výkonem, můžete přepnout na 95. percentil. Přidejte operace, které vás zajímají, jejich připnutím do grafu. Graf ukazuje, že existuje několik vrcholů, které stojí za prozkoumání. Pokud je chcete dále izolovat, zkraťte časový interval grafu.
Panel Výkon na pravé straně ukazuje distribuci doby trvání různých požadavků pro vybranou operaci. Zmenšete časové okno tak, aby začínalo přibližně na 95. percentilu. Karta Přehledy 3 hlavních závislostí vám může na první pohled říct, že externí závislosti pravděpodobně přispívají k pomalým transakcím. Výběrem tlačítka s počtem ukázek zobrazíte seznam ukázek. Pak vyberte libovolnou ukázku, abyste viděli podrobnosti o transakci.
Na první pohled vidíte, že volání tabulky Azure Fabrikamaccount přispívá nejvíce k celkové době trvání transakce. Také vidíte, že výjimka způsobila jeho selhání. Výběrem libovolné položky v seznamu zobrazíte její podrobnosti na pravé straně.
Profiler pomáhá dále s diagnostikou na úrovni kódu tím, že zobrazuje skutečný kód, který běžel pro operaci, a čas potřebný pro každý krok. Některé operace nemusí mít trasování, protože Profiler běží pravidelně. V průběhu času by trasování mělo mít více operací. Pokud chcete spustit Profiler pro operaci, vyberte trasování profileru.
Trasování zobrazuje jednotlivé události pro každou operaci, abyste mohli diagnostikovat původní příčinu pro dobu trvání celkové operace. Vyberte jeden z nejlepších příkladů, které mají nejdelší dobu trvání.
Výběrem horké cesty zvýrazníte konkrétní cestu událostí, které přispívají nejvíce k celkové době trvání operace. V tomto příkladu vidíte, že nejpomalejší volání pochází z
FabrikamFiberAzureStorage.GetStorageTableData
metody. Součástí, která trvá nejvíce času, jeCloudTable.CreateIfNotExist
metoda. Pokud se tento řádek kódu spustí při každém volání funkce, bude spotřebováno nepotřebné síťové volání a prostředky procesoru. Nejlepším způsobem, jak opravit kód, je vložit tento řádek do některé spouštěcí metody, která se spustí pouze jednou.Tip výkonu v horní části obrazovky podporuje posouzení, že nadměrná doba trvání je způsobená čekáním. Vyberte odkaz pro čekání na dokumentaci k interpretaci různých typů událostí.
Pokud chcete provést další analýzu, vyberte Stáhnout trasování a stáhněte trasování. Tato data můžete zobrazit pomocí nástroje PerfView.
Použití dat protokolů pro server
Protokoly poskytují bohatý dotazovací jazyk, který můžete použít k analýze všech dat shromážděných službou Application Insights. Tuto funkci můžete použít k hloubkové analýze dat požadavků a výkonu.
Vraťte se na panel podrobností o operaci a vyberte Zobrazit v protokolech (Analytics).
Otevře se obrazovka Protokoly s dotazem pro každé zobrazení na panelu. Tyto dotazy můžete spustit tak, jak jsou, nebo je upravit podle vlastních potřeb. První dotaz zobrazí dobu trvání této operace v průběhu času.
Identifikace pomalých operací klienta
Kromě identifikace procesů serveru, které je potřeba optimalizovat, dokáže Application Insights provádět analýzu i z pohledu klientských prohlížečů. Tyto informace vám můžou pomoct identifikovat potenciální vylepšení klientských komponent a dokonce identifikovat problémy s různými prohlížeči nebo různými umístěními.
V části Prošetření vyberte Prohlížeč a pak vyberte Výkon prohlížeče. Případně vyberte Výkon v části Prošetření a přepněte na kartu Prohlížeč výběrem přepínače Server/Prohlížeč v pravém horním rohu a otevřete souhrn výkonu prohlížeče. Toto zobrazení poskytuje vizuální souhrn různých telemetrických dat vaší aplikace z pohledu prohlížeče.
Vyberte jeden z názvů operací, vyberte tlačítko Ukázky v pravém dolním rohu a pak vyberte operaci. Podrobnosti o celé transakci se otevřou na pravé straně, kde můžete zobrazit vlastnosti zobrazení stránky. Můžete zobrazit podrobnosti o klientovi, který žádá o stránku, včetně typu prohlížeče a jeho umístění. Tyto informace vám můžou pomoct s určením, jestli neexistují problémy s výkonem souvisejíc s konkrétními typy klientů.
Použití dat protokolů pro klienta
Stejně jako data shromážděná pro výkon serveru zpřístupňuje Application Insights všechna klientská data pro hloubkovou analýzu pomocí protokolů.
Vraťte se do souhrnu prohlížeče a vyberte Zobrazit v protokolech (Analytics).
Otevře se obrazovka Protokoly s dotazem pro každé zobrazení na panelu. První dotaz zobrazí dobu trvání různých zobrazení stránek v průběhu času.