Diagnostické nástroje výkonu

O Jan Rousos

Tento článek obsahuje seznam nástrojů pro diagnostiku problémů s výkonem v ASP.NET Core.

Visual Studio Diagnostické nástroje

k zahájení zkoumání problémů s výkonem je vhodné místo pro profilaci a diagnostické nástroje integrované v Visual Studio. tyto nástroje jsou výkonné a pohodlné, aby je bylo možné používat z Visual Studioho vývojového prostředí. nástroje umožňují analýzu využití CPU, využití paměti a událostí výkonu v aplikacích ASP.NET Core. Předdefinovaná aplikace usnadňuje profilaci v době vývoje.

další informace najdete v dokumentaci k Visual Studio.

Application Insights

Application Insights poskytuje podrobné údaje o výkonu vaší aplikace. Application Insights automaticky shromažďuje data podle míry odezvy, míry selhání, doby odezvy závislostí a dalších. Application Insights podporuje protokolování vlastních událostí a metrik, které jsou specifické pro vaši aplikaci.

Azure Application Insights poskytuje několik způsobů, jak poskytnout přehledy o monitorovaných aplikacích:

  • Mapa aplikace – pomáhá odhalit slabá místa výkonu nebo neúspěšné pokusy v rámci všech komponent distribuovaných aplikací.

  • Azure Průzkumník metrik je komponentou Microsoft Azure portálu, která umožňuje vykreslovat grafy, vizuálně korelovat trendy a prozkoumat špičky a vyhodnotit metriky v hodnotách metriky.

  • okno výkon na portálu Application Insights:

    • Zobrazuje podrobnosti o výkonu pro různé operace v monitorované aplikaci.
    • Umožňuje přechod na jedinou operaci pro kontrolu všech částí nebo závislostí, které přispívají k dlouhou dobu trvání.
    • Profiler můžete z tohoto místa vyvolat, abyste mohli shromažďovat trasování výkonu na vyžádání.
  • Azure Application Insights Profiler umožňuje pravidelné profilování aplikací .net a na vyžádání. Azure Portal zobrazuje zaznamenaná trasování výkonu se zásobníky volání a Hot Paths. Trasovací soubory je také možné stáhnout pro hlubší analýzu pomocí PerfView.

Application Insights lze použít v různých prostředích:

  • Optimalizováno pro práci v Azure.
  • Funguje v produkčním, vývojovém a přípravném prostředí.
  • funguje místně z Visual Studio nebo v jiných hostitelských prostředích.

další informace o monitorování na základě kódu naleznete v tématu Application Insights for ASP.NET Core. Další informace o monitorování bez kódu najdete v tématu monitorování výkonu Azure App Service.

PerfView

PerfView je nástroj pro analýzu výkonu vytvořený týmem .NET konkrétně pro diagnostiku problémů s výkonem .NET. PerfView umožňuje analýzu využití CPU, chování paměti a GC, událostí výkonu a času chodu na zdi.

Další informace o PerfView najdete v uživatelské příručce, která je k dispozici v nástroji nebo na GitHub.

Windows Toolkit výkonu

Windows performance Toolkit (WPT) se skládá ze dvou součástí: Windows performance record (WPR) a Windows performance Analyzer (WPA). nástroje vytváří podrobné profily výkonu Windowsch operačních systémů a aplikací. WPT má bohatší možnosti vizualizace dat, ale shromažďování dat je méně výkonné než PerfView.

PerfCollect

i když je PerfView užitečným nástrojem pro analýzu výkonu pro scénáře .net, spouští se jenom na Windows, takže ho nemůžete použít ke shromažďování trasování z ASP.NET Corech aplikací spuštěných v prostředích Linux.

PerfCollect je skript bash, který používá nativní nástroje pro profilaci systému Linux (perf and LTTng) ke shromáždění trasování na platformě Linux, které lze analyzovat pomocí PerfView. PerfCollect je užitečné v případě, že se problémy s výkonem zobrazují v prostředích Linux, kde PerfView nelze použít přímo. místo toho může PerfCollect shromažďovat trasování z aplikací .net Core, které jsou poté analyzovány na Windows počítači pomocí PerfView.

Další informace o tom, jak nainstalovat a začít používat PerfCollect, jsou k dispozici na GitHub.

Další nástroje pro sledování výkonu třetích stran

Následující seznam obsahuje některé nástroje pro sledování výkonu třetích stran, které jsou užitečné při vyšetřování výkonu aplikací .NET Core.