共用方式為


效能診斷工具

作者:Mike Rousos

本文列出在 ASP.NET Core 中診斷效能問題的工具。

如需效能診斷工具和計數器的相關信息 Blazor WebAssembly ,請參閱 ASP.NET Core Blazor WebAssembly 瀏覽器開發人員工具診斷ASP.NET Core Blazor WebAssembly 事件管道診斷

Visual Studio 診斷工具

Visual Studio 內建的分析 與診斷工具 是開始調查效能問題的絕佳位置。 這些工具在Visual Studio開發環境中使用時既強大又方便。 此工具可讓您分析 ASP.NET Core 應用程式中的 CPU 使用量、記憶體使用量和效能事件。 內建功能可讓效能剖析在開發階段變得容易。

如需詳細資訊,請參閱 Visual Studio檔

Application Insights

Application Insights 提供應用程式的深入效能數據。 Application Insights 會自動收集回應率、失敗率、相依性回應時間等等的數據。 Application Insights 支援記錄應用程式專屬的自定義事件和計量。

Azure Application Insights 提供多種方式來提供受監視應用程式的深入解析:

  • 應用程式地圖 – 幫助識別分散式應用程式各元件的效能瓶頸或故障熱點。

  • Azure 指標探查器 是 Microsoft Azure 入口網站的元件,可讓您繪製圖表、可視化關聯趨勢,以及調查指標值的高峰和低谷。

  • Application Insights 入口網站中的 [效能] 面板

    • 顯示受監視應用程式中不同作業的效能詳細數據。
    • 允許深入分析單一作業,以檢查導致長時間運行的所有元件/相依性。
    • 您可以從這裡叫用分析工具,以依需求收集效能追蹤。
  • Azure Application Insights Profiler 允許定期和隨選分析 .NET 應用程式。 Azure 入口網站會顯示擷取到的效能追蹤,其包含呼叫堆疊和熱門路徑。 您也可以下載追蹤檔案,以使用 PerfView 進行更深入的分析。

Application Insights 可用於各種環境中:

  • 已優化以在 Azure 中運作。
  • 在生產、開發和預備環境中運作。
  • Visual Studio 或其他裝載環境中本機運作。

如需程式代碼型監視的詳細資訊,請參閱 ASP.NET Core 的 Application Insights。 如需無程式代碼監視的詳細資訊,請參閱 監視 Azure App Service 效能

PerfView

PerfView 是由 .NET 小組建立的效能分析工具,專門用來診斷 .NET 效能問題。 PerfView 允許分析 CPU 使用量、記憶體和 GC 行為、效能事件和時鐘時間。

如需 PerfView 的詳細資訊,請參閱工具或 GitHub 上提供的使用者指南。

Windows Performance 工具包

Windows Performance Toolkit (WPT) 包含兩個元件:Windows Performance Recorder (WPR) 和 Windows Performance Analyzer (WPA)。 這些工具會產生 Windows作系統和應用程式的深入效能配置檔。 WPT 具有更豐富的數據可視化方式,但其數據收集能力不如 PerfView。

PerfCollect

雖然 PerfView 是適用於 .NET 案例的實用效能分析工具,但它只會在 Windows 上執行,因此您無法使用它從 Linux 環境中執行的 ASP.NET Core 應用程式收集追蹤。

PerfCollect 是 bash 腳本,其使用原生 Linux 分析工具 (PerfLTTng) 收集 Linux 上的追蹤,可透過 PerfView 進行分析。 當效能問題顯示在無法直接使用 PerfView 的 Linux 環境中時,PerfCollect 很有用。 相反地,PerfCollect 可以從 .NET 應用程式收集追蹤檔案,然後在 Windows 電腦上使用 PerfView 進行分析。

如需如何安裝和開始使用 PerfCollect 的詳細資訊,請參閱 GitHub

其他第三方效能工具

下列列出一些第三方效能工具,這些工具適用於 .NET 應用程式的效能調查。