使用 Application Insights Profiler 來分析 Azure 中的生產應用程式

診斷應用程式的效能問題可能很困難,尤其是在動態雲端中的生產環境上執行時。 如果應用程式中的回應緩慢,那麼有可能是管線中處理要求的基礎結構、架構或應用程式程式碼所造成。

使用 Application Insights Profiler,您可以擷取、識別及檢視在 Azure 中執行之應用程式的效能追蹤,而不論案例為何。 Profiler 追蹤程序會自動大規模地進行,而且不會對您的使用者造成負面影響。 此 Profiler (分析工具) 會識別:

  • 客戶執行之每個 Web 要求的回應時間中間值、最快值和最慢值。
  • 處理特定 Web 要求時花費最多時間的「經常性」程式路徑。

請在您的所有 Azure 應用程式上啟用此 Profiler,以使用下列觸發程序收集資料:

  • 取樣觸發程序:大約每小時隨機啟動一次 Profiler,持續兩分鐘。
  • CPU 觸發程序:當 CPU 使用率百分比超過 80% 時啟動 Profiler。
  • 記憶體觸發程序:當記憶體使用率高於 80% 時啟動 Profiler。

這些每一個觸發程序都可以加以設定、啟用或停用

額外負荷和取樣演算法

Profiler 會在啟用了 Profiler 裝載應用程式的每個虛擬機器上每小時隨機執行兩分鐘。 Profiler 在執行時會對伺服器增加 5% 到 15% 的 CPU 額外負荷。

Profiler 中的支援

Profiler 可與下列 Azure 服務上所部署的 .NET 應用程式搭配運作。 在下面的連結中檢視針對每種服務類型啟用 Profiler 的特定指示。

計算平台 .NET (>= 4.6) .NET Core
Azure App Service Yes Yes
適用於 Windows 的 Azure 虛擬機器和虛擬機器擴展集 Yes Yes
適用於 Linux 的 Azure 虛擬機器和虛擬機器擴展集 No Yes
Azure 雲端服務 Yes Yes
適用於 Windows 的 Azure 容器執行個體 No Yes
適用於 Linux 的 Azure 容器執行個體 No Yes
Kubernetes No Yes
Azure Functions Yes Yes
Azure Service Fabric Yes

注意

您也可以使用 Java Profiler for Azure Monitor Application Insights (目前處於預覽狀態)。

如果您已啟用 Profiler 卻未看到追蹤,請參閱疑難排解指南

限制

  • 資料保留:預設資料保留期為 5 天。
  • 分析 Web 應用程式
    • 雖然使用分析工具可以不需支付額外費用,但您的 Web 應用程式至少必須裝載於 Azure App Service Web Apps 功能的基本層中。
    • 您只能將一個分析工具附加到每個 Web 應用程式。

下一步

了解如何在 Azure 服務上啟用分析工具: