效能診斷工具

作者:Mike Rousos

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

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 或其他裝載環境中本機運作。

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

PerfView

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

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

Windows 效能工具組

Windows 效能工具組 (WPT) 包含兩個元件:Windows 效能錄製器 (WPR) 和 Windows 效能分析器 (WPA)。 這些工具會產生 Windows 作業系統和應用程式的深入效能設定檔。 WPT 具有更豐富的資料視覺化方式,但其資料收集功能比 PerfView 更強大。

PerfCollect

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

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

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

其他協力廠商效能工具

下列列出一些適用於 .NET Core 應用程式效能調查的協力廠商效能工具。