Nástroje pro diagnostiku výkonu

Autor: Mike Rousos

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

Diagnostické nástroje sady Visual Studio

Nástroje pro profilaci a diagnostiku integrované v sadě Visual Studio jsou dobrým místem, kde můžete začít zkoumat problémy s výkonem. Tyto nástroje jsou výkonné a pohodlné pro použití z vývojového prostředí sady Visual Studio. Nástroje umožňují analýzu využití procesoru, využití paměti a událostí výkonu v aplikacích ASP.NET Core. Díky integrovanému vytváření profilace je v době vývoje snadné.

Další informace najdete v dokumentaci k sadě Visual Studio.

Application Insights

Aplikační Přehledy poskytuje podrobná data o výkonu vaší aplikace. Aplikační Přehledy automaticky shromažďuje data o rychlostech odezvy, četnosti selhání, době odezvy závislostí a dalších. Aplikační Přehledy podporuje protokolování vlastních událostí a metrik specifických pro vaši aplikaci.

Aplikace Azure Přehledy nabízí několik způsobů, jak poskytnout přehled o monitorovaných aplikacích:

  • Mapa aplikací – pomáhá odhalit kritické body výkonu nebo kritické body selhání napříč všemi komponentami distribuovaných aplikací.

  • Průzkumník metrik Azure je součástí webu Microsoft Azure Portal, která umožňuje vykreslovat grafy, vizuálně korelovat trendy a zkoumat špičky a poklesy v hodnotách metrik.

  • Okno Výkon na portálu Přehledy aplikace:

    • Zobrazuje podrobnosti o výkonu pro různé operace v monitorované aplikaci.
    • Umožňuje přejít k podrobnostem jedné operace a zkontrolovat všechny části/závislosti, které přispívají k dlouhé době trvání.
    • Profiler je možné vyvolat odsud a shromažďovat trasování výkonu na vyžádání.
  • Aplikace Azure Přehledy Profiler umožňuje pravidelnou profilaci aplikací .NET a jejich profilaci na vyžádání. Azure Portal zobrazuje zachycené trasování výkonu se zásobníky volání a horkými cestami. Trasovací soubory lze také stáhnout pro hlubší analýzu pomocí nástroje PerfView.

Aplikační Přehledy 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ě ze sady Visual Studio nebo v jiných hostitelských prostředích.

Další informace o monitorování založeném na kódu najdete v tématu Přehledy aplikací pro ASP.NET Core. Další informace o monitorování bez kódu naleznete v tématu Monitorování výkonu služby Aplikace Azure Service.

PerfView

PerfView je nástroj pro analýzu výkonu vytvořený týmem .NET speciálně pro diagnostiku problémů s výkonem .NET. PerfView umožňuje analýzu využití procesoru, paměti a chování uvolňování paměti, událostí výkonu a času nástěnného času.

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

Windows Performance Toolkit

Windows Performance Toolkit (WPT) se skládá ze dvou součástí: Windows Performance Recorder (WPR) a Windows Analyzátor výkonu (WPA). Nástroje vytvářejí podrobné profily výkonu operačních systémů Windows a aplikací. WPT nabízí bohatší způsoby vizualizace dat, ale jejich shromažďování dat je méně výkonné než PerfView.

PerfCollect

PerfView je sice užitečný nástroj pro analýzu výkonu pro scénáře .NET, ale běží jenom ve Windows, takže ho nemůžete použít ke shromažďování trasování z aplikací ASP.NET Core běžících v linuxových prostředích.

PerfCollect je skript bash, který používá nativní linuxové nástroje pro profilaci (Perf a LTTng) ke shromažďování trasování v Linuxu, které lze analyzovat nástrojem PerfView. Funkce PerfCollect je užitečná, když se problémy s výkonem zobrazují v linuxových prostředích, kde perfView nelze přímo použít. Místo toho může PerfCollect shromažďovat trasování z aplikací .NET Core, které se pak analyzují na počítači s Windows pomocí perfView.

Další informace o instalaci a zahájení práce s nástrojem PerfCollect najdete na GitHubu.

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

Následující seznam uvádí některé nástroje pro výkon třetích stran, které jsou užitečné při zkoumání výkonu aplikací .NET Core.