你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
适用于:✔️ Linux VM ✔️ Windows VM
Performance Diagnostics (PerfInsights) 有助于识别和排查 Azure 虚拟机上的性能问题。 它提供对高资源使用率(例如 CPU、内存和磁盘使用率)的见解,并帮助你了解性能问题的根本原因。
直接从 Azure 门户运行 Performance Diagnostics,可以在其中查看有关 VM 的日志、配置和诊断数据的见解和报告。 在联系 Microsoft 支持部门之前,请使用此信息来诊断问题。
Performance Diagnostics 将所有见解和报告存储在存储帐户中,可以进行配置以缩短数据保留时间,从而最大限度地降低成本。
Performance Diagnostics 模式
Performance Diagnostics 使用以下两种模式之一中运行:
- 持续诊断 每 5 秒收集一次数据,并每 5 分钟报告一次有关高资源使用率的可行见解。
- 按需诊断可通过在某一时刻收集的数据提供更深入的资料、见解和建议,帮助你排查正在发生的性能问题。 Windows 和 Linux 都支持按需诊断。
下表比较了持续性能诊断和按需性能诊断提供的数据。 有关所有收集的诊断数据的完整列表,请参阅收集的数据。
| 连续 | 按需 | |
|---|---|---|
| 生成的见解 | 持续提供可执行的洞察,用于监测和分析高资源使用情况,例如高 CPU 占用、高内存占用以及高磁盘使用率 | 按需提供可执行的洞察,用于分析高资源使用情况以及各类系统配置 |
| 数据收集频率 | 每隔五秒收集一次数据。 每五分钟上传一次更新。 | 在按需运行的选定持续时间内按需收集数据 |
| 生成的报表 | 不生成报告 | 生成具有全面诊断数据的报表 |
支持的故障排除方案
以下部分介绍使用持续和按需性能诊断来识别和排查性能问题的常见方案。
连续诊断
借助持续性能诊断,可以通过定期监视 VM 来识别高资源使用率:
- 高 CPU 使用率:检测高 CPU 使用率时间段,并显示这些时间段内 CPU 使用率最高的使用者。
- 高内存使用率:检测高内存使用率时间段,并显示这些时间段内内存使用率最高的使用者。
- 高磁盘使用率:检测物理磁盘上的高磁盘使用率时间段,并显示这些时间段内磁盘使用率最高的使用者。
按需诊断
按需诊断在 Windows 和 Linux VM 之间提供不同的信息。 以下部分介绍可用于每个平台的方案。 有关每个报告的更多详细信息,请参阅按需报告。
| 报表 | DESCRIPTION |
|---|---|
| 快速性能分析 | VM 的配置和性能的基本概述,包括事件日志、磁盘配置和网络使用情况。 |
| 基准测试 | 针对附加到 VM 的所有驱动器运行基准测试(IOPS 和 MBPS)。 |
| 性能分析 | 检查资源消耗、已知问题、分析最佳做法并收集诊断数据。 |
| Azure 文件分析 | 使用网络跟踪运行特殊的性能计数器捕获。 包括所有的“服务器消息块 (SMB) 客户端共享”计数器。 |
| 高级性能分析 | 选择要并行运行的跟踪。 |
收集的数据
Performance Diagnostics 从 Windows 计算机收集了下表中的信息,具体取决于所使用的性能方案。
| 收集的数据 | 快速性能分析 | 基准测试 | 性能分析 | Azure 文件分析 | 高级性能分析 |
|---|---|---|---|---|---|
| 事件日志中的信息 | 是的 | 是的 | 是的 | 是的 | 是的 |
| 系统信息 | 是的 | 是的 | 是的 | 是的 | 是的 |
| 卷映射 | 是的 | 是的 | 是的 | 是的 | 是的 |
| 磁盘映射 | 是的 | 是的 | 是的 | 是的 | 是的 |
| 正在运行的任务 | 是的 | 是的 | 是的 | 是的 | 是的 |
| 存储可靠性计数器 | 是的 | 是的 | 是的 | 是的 | 是的 |
| 存储信息 | 是的 | 是的 | 是的 | 是的 | 是的 |
| Fsutil 输出 | 是的 | 是的 | 是的 | 是的 | 是的 |
| 筛选驱动程序信息 | 是的 | 是的 | 是的 | 是的 | 是的 |
| Netstat 输出 | 是的 | 是的 | 是的 | 是的 | 是的 |
| 网络配置 | 是的 | 是的 | 是的 | 是的 | 是的 |
| 防火墙配置 | 是的 | 是的 | 是的 | 是的 | 是的 |
| SQL Server 配置 | 是的 | 是的 | 是的 | 是的 | 是的 |
| 性能诊断跟踪 * | 是的 | 是的 | 是的 | 是的 | 是的 |
| 性能计数器跟踪 ** | 是的 | 是的 | |||
| SMB 计数器跟踪 ** | 是的 | ||||
| SQL Server 计数器跟踪 ** | 是的 | 是的 | |||
| Xperf 跟踪 | 是的 | ||||
| StorPort 跟踪 | 是的 | ||||
| 网络跟踪 | 是的 | 是的 | |||
| Diskspd 基准跟踪 *** | 是的 |
性能影响
下表显示了在一系列 Windows OS 版本、大小和 CPU 负载上运行持续性能诊断的 12 小时测试的结果。 这些结果对系统资源的影响最小。
| OS 版本 | VM 大小 | CPU 负载 | 平均 CPU 使用率 | 第 90 百分位 CPU 使用率 | 第 99 百分位 CPU 使用率 | 内存使用情况 |
|---|---|---|---|---|---|---|
| Windows Server 2019 | B2s、A4V2、D5v2 | 20%, 50%, 80% | <0.5% | 2% | 3% | 42 至 43 MB |
| Windows Server 2016 SQL | B2s、A4V2、D5v2 | 20%, 50%, 80% | <0.5% | 2% | 3% | 42 至 43 MB |
| Windows Server 2019 | B2s、A4V2、D5v2 | 20%, 50%, 80% | <0.5% | 2% | 3% | 42 至 43 MB |
| Windows Server 2022 | B2s、A4V2、D5v2 | 20%, 50%, 80% | <0.5% | <0.5% | 3% | 42 至 43 MB |
存储成本
假设虚拟机持续处于稳定负载状态,并使用本地冗余存储,那么持续性能诊断的存储成本预计每月不到 1 美分。 它将见解存储在表和 JSON 文件中的 BLOB 容器中。 每行大约为 0.5 KB,整个报告在压缩前大约为 9 KB。 每 5 分钟生成两行并上传相应报告,共约 10 KB,即约 0.00001 GB。
若要计算存储成本,请执行以下操作:
- 每月行数:17,280
- 每行大小:0.00001 GB
- 总数据大小:17,280 x 0.000001 = 0.1728 GB
有关最新价格,请参阅 Azure Blob 存储定价。
跨区域移动 VM
可以使用 Azure 资源转移器跨区域移动 Azure VM 和相关网络和存储资源。 但是,不支持跨区域移动 VM 扩展(包括 Azure Performance Diagnostics VM 扩展)。 移动 VM 后,必须在目标区域中的 VM 上手动安装扩展。 有关详细信息,请参阅在 Azure 区域之间移动 Azure VM 的支持矩阵。
与 Microsoft 支持部门共享诊断数据
向 Microsoft 开具支持工单时,共享按需性能诊断运行的性能诊断报告非常重要。 Microsoft 支持部门联系人提供了将按需性能诊断报告上传到工作区的选项。 使用以下任一方法下载按需性能诊断报告:
- 从“Performance Diagnostics”边栏选项卡或存储帐户下载报告,如分析性能诊断见解和报告中所述。