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.

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

  2. Panel Výkon otevřete tak, že v nabídce Prozkoumat vyberete Výkon nebo vyberete graf Doby odezvy serveru.

    Snímek obrazovky se zobrazením Výkon

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

    Snímek obrazovky znázorňující panel 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 to prozkoumat. 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. 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.

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

    Snímek obrazovky s podrobnostmi o celé transakci operace

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

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

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

    Snímek obrazovky s podrobnostmi Profileru

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

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

  1. Vraťte se na panel s podrobnostmi o operaci a vyberte Ikona ProtokolůZobrazit v protokolech (Analýzy).

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

    Snímek obrazovky se souhrnem 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. 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ů.

    Snímek obrazovky s vlastnostmi zobrazení stránky

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

  1. Vraťte se do souhrnu prohlížeče a vyberte Ikona Protokolů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 Protokolů