Vyhledání a diagnostika problémů s výkonem pomocí 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 o těchto tématech:
- Identifikace výkonu operací na straně serveru
- Analyzujte operace serveru a zjistěte původní příčinu nízké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 Sadu 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 webu Azure Portal.
Identifikace pomalých operací serveru
Application Insights shromažďuje podrobnosti o výkonu různých operací ve vaší aplikaci. Identifikací operací s nejdelší dobou trvání můžete diagnostikovat potenciální problémy nebo se zaměřit na probíhající vývoj, abyste zlepšili celkový výkon aplikace.
Vyberte Application Insights a pak vyberte své předplatné.
Panel Výkon otevřete tak, že v nabídce Prozkoumat vyberete Výkon nebo vyberete graf Doby odezvy serveru.
Obrazovka Výkon zobrazuje počet a průměrnou dobu trvání jednotlivých operací pro aplikaci. Tyto informace můžete použít k identifikaci operací, které mají na uživatele největší dopad. 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 delší dobu trvání, ale volají se 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 to prozkoumat. 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. Na kartě Přehledy 3 hlavních závislostí můžete na první pohled zjistit, ž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 a zobrazte podrobnosti o transakci.
Na první pohled vidíte, že volání tabulky Azure Fabrikamaccount nejvíce přispívá 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á pokračovat v diagnostice na úrovni kódu tím, že zobrazuje skutečný kód, který se spustil pro danou operaci, a čas potřebný pro jednotlivé kroky. 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 celé operace. Vyberte jeden z hlavních příkladů, který má nejdelší dobu trvání.
Vyberte Horká cesta a zvýrazněte konkrétní cestu událostí, které nejvíce přispívají k celkové době trvání operace. V tomto příkladu vidíte, že nejpomalejší volání je z metody .
FabrikamFiberAzureStorage.GetStorageTableData
Část, která zabírá nejvíce času,CloudTable.CreateIfNotExist
je metoda . Pokud se tento řádek kódu spustí při každém volání funkce, spotřebují se nepotřebné síťové volání a prostředky procesoru. Nejlepším způsobem, jak kód opravit, je vložit tento řádek do nějaké spouštěcí metody, která se provede pouze jednou.Tip k výkonu v horní části obrazovky podporuje posouzení, že nadměrná doba trvání je způsobená čekáním. Vyberte odkaz čekání pro 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í 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. Pomocí této funkce můžete provádět hloubkové analýzy požadavků a dat o výkonu.
Vraťte se na panel s podrobnostmi o operaci a vyberte Zobrazit v protokolech (Analýzy).
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 Prozkoumat vyberte Prohlížeč a pak vyberte Výkon prohlížeče. Případně v části Prozkoumat vyberte Výkon a výběrem přepínacího tlačítka Server/Prohlížeč v pravém horním rohu 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. Na pravé straně se otevřou podrobnosti o celé transakci, 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 i Application Insights zpřístupňuje 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.