你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用 Application Insights Profiler 探查 Azure 中的生产应用程序

诊断应用程序的性能问题可能很困难,尤其是在动态云中的生产环境中运行时。 应用程序中的响应速度缓慢可能是由处理管道中请求的基础结构、框架或应用程序代码引起的。

使用 Application Insights Profiler,无论在何种情况下,都可以捕获、识别和查看 Azure 中运行的应用程序的性能跟踪。 Profiler 跟踪过程自动大规模执行,并且不会对用户产生负面影响。 Profiler 确定:

  • 客户发出的每个 Web 请求的平均、最快和最慢响应时间。
  • 在处理特定 Web 请求时花费时间最长的“热”代码路径。

在所有 Azure 应用程序上启用 Profiler,以使用以下触发器收集数据:

  • 采样触发器:大约每小时随机启动一次 Profiler,持续 2 分钟。
  • CPU 触发器:当 CPU 使用率百分比超过 80% 时启动 Profiler。
  • 内存触发器:当内存使用率超过 80% 时启动 Profiler。

可以配置、启用或禁用上述每个触发器。

开销和采样算法

在托管应用程序且已启用 Profiler 的每台虚拟机上,Profiler 每小时随机运行 2 分钟。 Profiler 在运行时会给服务器增添 5% 到 15% 的 CPU 开销。

Profiler 中支持

Profiler 适用于以下 Azure 服务中部署的 .NET 应用程序。 在下面的链接中查看有关为每个服务类型启用 Profiler 的具体说明。

计算平台 .NET (>= 4.6) .NET Core
Azure 应用服务
Azure 虚拟机和适用于 Windows 的虚拟机规模集
Azure 虚拟机和适用于 Linux 的虚拟机规模集
Azure 云服务
适用于 Windows 的 Azure 容器实例
适用于 Linux 的 Azure 容器实例
Kubernetes
Azure Functions
Azure Service Fabric

注意

还可以将 Java Profiler 用于 Azure Monitor Application Insights,目前以预览版提供。

如果已启用 Profiler 但未看到跟踪,请参阅故障排除指南

限制

  • 数据保留:默认数据保留期为 5 天。
  • 分析 Web 应用
    • 虽然可以免费使用 Profiler,但 Web 应用必须至少托管在 Azure 应用服务 Web 应用功能的基本层中。
    • 每个 Web 应用只能附加 1 个探查器。

后续步骤

了解如何在 Azure 服务上启用 Profiler: