Leistungs DiagnosetoolsPerformance Diagnostic Tools

Von Mike RousosBy Mike Rousos

In diesem Artikel werden die Tools für die Diagnose von Leistungsproblemen in ASP.net Core aufgeführt.This article lists tools for diagnosing performance issues in ASP.NET Core.

Visual Studio-DiagnosetoolsVisual Studio Diagnostic Tools

Die in Visual Studio integrierten Tools zur Profilerstellung und Diagnose sind ein guter Ausgangspunkt für die Untersuchung von Leistungsproblemen.The profiling and diagnostic tools built into Visual Studio are a good place to start investigating performance issues. Diese Tools sind leistungsstark und bequem in der Visual Studio-Entwicklungsumgebung zu verwenden.These tools are powerful and convenient to use from the Visual Studio development environment. Mit den Tools können Sie die CPU-Auslastung, Speicherauslastung und Leistungs Ereignisse in ASP.net Core-apps analysieren.The tooling allows analysis of CPU usage, memory usage, and performance events in ASP.NET Core apps. Wenn Sie integriert sind, ist die Profilerstellung während der Entwicklungszeit einfach.Being built-in makes profiling easy at development time.

Weitere Informationen finden Sie in der Visual Studio-Dokumentation.More information is available in Visual Studio documentation.

Application InsightsApplication Insights

Application Insights bietet detaillierte Leistungsdaten für Ihre APP.Application Insights provides in-depth performance data for your app. Application Insights werden automatisch Daten zu Antwortraten, Fehlerraten, Antwortzeiten von Abhängigkeiten und mehr erfasst.Application Insights automatically collects data on response rates, failure rates, dependency response times, and more. Application Insights unterstützt das Protokollieren von benutzerdefinierten Ereignissen und Metriken für Ihre APP.Application Insights supports logging custom events and metrics specific to your app.

Azure-Anwendung Insights bietet mehrere Möglichkeiten, um Einblicke in überwachte apps zu erhalten:Azure Application Insights provides multiple ways to give insights on monitored apps:

  • Anwendungs Zuordnung – hilft bei der Identifizierung von Leistungs Engpässen oder bei Ausfall-Hotspots für alle Komponenten verteilter apps.Application Map – helps spot performance bottlenecks or failure hot-spots across all components of distributed apps.

  • Azure Metrik-Explorer ist eine Komponente des Microsoft Azure-Portal, die das Zeichnen von Diagrammen, das visuelle Korrelieren von Trends und das Untersuchen von Spitzen und Dips in Metrikwerten ermöglicht.Azure Metrics Explorer is a component of the Microsoft Azure portal that allows plotting charts, visually correlating trends, and investigating spikes and dips in metrics' values.

  • Blatt "Leistung" im Application Insights-Portal:Performance blade in Application Insights portal:

    • Zeigt Leistungsdetails für verschiedene Vorgänge in der überwachten APP an.Shows performance details for different operations in the monitored app.
    • Ermöglicht das Drilldown in einen einzelnen Vorgang, um alle Teile/Abhängigkeiten zu überprüfen, die zu einem langen Zeitraum beitragen.Allows drilling into a single operation to check all parts/dependencies that contribute to a long duration.
    • Profiler kann von hier aus aufgerufen werden, um Leistungs Überwachungen bei Bedarf zu erfassen.Profiler can be invoked from here to collect performance traces on-demand.
  • Azure-Anwendung Insights Profiler ermöglicht die reguläre und Bedarfs gesteuerte Profilerstellung von .net-apps.Azure Application Insights Profiler allows regular and on-demand profiling of .NET apps. Azure-Portal zeigt erfasste Leistungs Ablauf Verfolgungen mit Aufruf Listen und aktiven Pfaden an.Azure portal shows captured performance traces with call stacks and hot paths. Die Ablauf Verfolgungs Dateien können auch zur tieferen Analyse mithilfe von perfview heruntergeladen werden.The trace files can also be downloaded for deeper analysis using PerfView.

Application Insights können in einer Vielzahl von Umgebungen verwendet werden:Application Insights can be used in a variety environments:

  • Optimiert für die Arbeit in Azure.Optimized to work in Azure.
  • Funktioniert in der Produktions-, Entwicklungs-und Staging-Umgebung.Works in production, development, and staging.
  • Funktioniert lokal in Visual Studio oder in anderen Host Umgebungen.Works locally from Visual Studio or in other hosting environments.

Weitere Informationen finden Sie unter Application Insights für ASP.NET Core.For more information, see Application Insights for ASP.NET Core.

PerfViewPerfView

Perfview ist ein Leistungsanalyse Tool, das vom .net-Team speziell für die Diagnose von .net-Leistungsproblemen erstellt wurde.PerfView is a performance analysis tool created by the .NET team specifically for diagnosing .NET performance issues. Perfview ermöglicht die Analyse von CPU-Auslastung, Arbeitsspeicher-und GC-Verhalten, Leistungs Ereignissen und der Uhrzeitangabe.PerfView allows analysis of CPU usage, memory and GC behavior, performance events, and wall clock time.

Weitere Informationen zu perfview und den ersten Schritten mit perfview-Videotutorials oder zum Lesen des Benutzerhandbuchs, das im Tool oder auf GitHubverfügbar ist, finden Sie hier.You can learn more about PerfView and how to get started with PerfView video tutorials or by reading the user's guide available in the tool or on GitHub.

Windows Performance ToolkitWindows Performance Toolkit

Windows Performance Toolkit (WPT) besteht aus zwei Komponenten: Windows Performance Recorder (WPR) und Windows Performance Analyzer (WPA).Windows Performance Toolkit (WPT) consists of two components: Windows Performance Recorder (WPR) and Windows Performance Analyzer (WPA). Die Tools erstellen detaillierte Leistungsprofile von Windows-Betriebssystemen und-apps.The tools produce in-depth performance profiles of Windows operating systems and apps. WPT bietet umfangreichere Möglichkeiten zur Visualisierung von Daten, aber die Datensammlung ist weniger leistungsfähig als perfview.WPT has richer ways of visualizing data, but its data collecting is less powerful than PerfView's.

PerfcollectPerfCollect

Obwohl perfview ein nützliches Tool zur Leistungsanalyse für .net-Szenarien ist, wird es nur unter Windows ausgeführt, sodass Sie es nicht zum Erfassen von Ablauf Verfolgungen aus ASP.net Core Apps verwenden können, die in Linux-Umgebungen ausgeführt werden.While PerfView is a useful performance analysis tool for .NET scenarios, it only runs on Windows so you can't use it to collect traces from ASP.NET Core apps running in Linux environments.

Perfcollect ist ein Bash-Skript, das native Linux-Profil Erstellungs Tools (perf und lttng) zum Erfassen von Ablauf Verfolgungen für Linux verwendet, die von perfview analysiert werden können.PerfCollect is a bash script that uses native Linux profiling tools (Perf and LTTng) to collect traces on Linux that can be analyzed by PerfView. Perfcollect ist nützlich, wenn Leistungsprobleme in Linux-Umgebungen angezeigt werden, in denen perfview nicht direkt verwendet werden kann.PerfCollect is useful when performance problems show up in Linux environments where PerfView can't be used directly. Stattdessen kann perfcollect Ablauf Verfolgungen von .net Core-apps erfassen, die dann mithilfe von perfview auf einem Windows-Computer analysiert werden.Instead, PerfCollect can collect traces from .NET Core apps that are then analyzed on a Windows computer using PerfView.

Weitere Informationen zur Installation und zu den ersten Schritten mit perfcollect finden Sie auf GitHub.More information about how to install and get started with PerfCollect is available on GitHub.

Andere Leistungs Tools von DrittanbieternOther Third-party Performance Tools

Im folgenden sind einige Leistungs Tools von Drittanbietern aufgeführt, die bei der Leistungs Untersuchung von .net Core-Anwendungen nützlich sind.The following lists some third-party performance tools that are useful in performance investigation of .NET Core applications.

  • MiniProfilerMiniProfiler
  • dotTrace und dotmemory von JetBrainsdotTrace and dotMemory from JetBrains
  • VTune von IntelVTune from Intel