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.

  1. Vyberte Application Insights a pak vyberte své předplatné.

  2. Pokud chcete otevřít panel Výkon, vyberte v nabídce Prozkoumat výkon nebo vyberte graf doby odezvy serveru.

    Snímek obrazovky znázorňující zobrazení Výkon

  3. 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í.

    Snímek obrazovky s panelem Serveru výkonu

  4. 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.

    Snímek obrazovky znázorňující operace připnutí

  5. 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.

  6. 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ě.

    Snímek obrazovky znázorňující podrobnosti o celé transakci operace

  7. 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.

  8. 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í.

  9. 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, je CloudTable.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.

    Snímek obrazovky znázorňující podrobnosti profileru

  10. 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í.

    Snímek obrazovky znázorňující tip k výkonu

  11. 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.

  1. Vraťte se na panel podrobností o operaci a vyberte Ikona ProtokolyZobrazit v protokolech (Analytics).

  2. 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.

    Snímek obrazovky znázorňující dotaz na protokoly

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.

  1. 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.

    Snímek obrazovky zobrazující souhrn prohlížeče

  2. 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ů.

    Snímek obrazovky znázorňující vlastnosti zobrazení stránky

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ů.

  1. Vraťte se do souhrnu prohlížeče a vyberte Ikona Protokoly Zobrazit v protokolech (Analytics).

  2. 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.

    Snímek obrazovky s obrazovkou Protokoly