Azure 虚拟机的性能诊断

注意

本文中引用的 CentOS 是 Linux 发行版, (EOL) 将达到生命周期结束。 相应地考虑使用和计划。 有关详细信息,请参阅 CentOS 生命周期终止指南

性能诊断工具可帮助你排查可能影响 Windows 或 Linux 虚拟机 (VM) 的性能问题。 支持的故障排除方案包括对已知问题和最佳做法的快速检查,以及涉及 VM 性能缓慢或 CPU、磁盘空间或内存使用率过高的复杂问题。

可以直接从Azure 门户运行性能诊断,还可以在其中查看有关各种日志、丰富配置和诊断数据的见解和报告。 建议在联系Microsoft 支持部门之前运行性能诊断并查看见解和诊断数据。

注意

对于 Windows,已安装 .NET SDK 版本 4.5 或更高版本的 VM 当前支持性能诊断。 有关在经典 VM 上运行性能诊断的步骤,请参阅 Azure 性能诊断 VM 扩展

支持的操作系统

Windows

  • Windows Server 2022
  • Windows Server 2019
  • Windows Server 2016
  • Windows Server 2012 R2
  • Windows Server 2012
  • Windows 11
  • Windows 10

Linux

  • 当前支持以下分发版:

    注意

    Microsoft 仅测试了表中列出的版本。 如果某个版本未在表中列出,则 Microsoft 不会对其进行显式测试,但该版本可能仍有效。

    分布 版本
    Oracle Linux Server 6.10 [*]、7.3、7.5、7.6、7.7、7.8、7.9
    Centos 6.5 [*]、7.6、7.7、7.8、7.9
    RHEL 7.2、7.5、8.0 [*]、8.1、8.2、8.6、8.8
    Ubuntu 14.04, 16.04, 18.04, 20.04, 22.04
    Debian 8、9、10、11 [*]
    Sles 12 SP4 [*]、12 SP5 [*]、15 [*]、15 SP1 [*]、15 SP2 [*]、15 SP4 [*]
    AlmaLinux 8.4, 8.5
    Azure Linux 2.0

注意

[*] 请参阅 已知问题

在 VM 上安装并运行性能诊断

性能诊断安装运行名为 PerfInsights 的诊断工具的 VM 扩展。 PerfInsights 适用于 WindowsLinux。 若要安装并运行性能诊断,请执行以下步骤:

  1. Azure 门户中,选择“虚拟机”。

  2. 从 VM 名称列表中,选择要运行诊断的 VM。

  3. “帮助”部分中,选择“性能诊断”。

    Azure 门户的屏幕截图,其中突出显示了“安装性能诊断”按钮。

  4. 选择存储帐户 (可选)

    若要使用单个存储帐户来存储多个 VM 的性能诊断结果,可以通过单击工具栏中的“设置”按钮来选择存储帐户。 选择存储帐户后,单击“ 确定 ”按钮。

    “性能诊断”边栏选项卡的屏幕截图,其中突出显示了“设置”工具栏按钮。

    如果未指定存储帐户,则默认会创建新的存储帐户。

  5. 选择“安装性能诊断”按钮。 如果要在安装完成后运行诊断,请选择“安装完成后运行诊断检查”框。 如果进行此选择,则可以选择性能分析方案和相关选项。

    “性能诊断安装”按钮的屏幕截图。选中“安装完成后运行诊断”选项。

选择要运行的分析方案

Azure 门户提供了以下分析方案。 选择一个分析,具体取决于你遇到的性能问题。 根据需要选择分析的持续时间和跟踪选项。

  • 快速性能分析
    检查已知问题,分析最佳做法,并收集诊断数据。 此分析需要几分钟时间才能运行。 了解 WindowsLinux 的详细信息

  • 性能分析
    包括快速性能分析中的所有检查,并监视高资源消耗。 使用此版本排查一般性能问题,例如 CPU、内存和磁盘使用率过高。 此分析需要 30 秒到 15 分钟,具体取决于所选持续时间。 了解 WindowsLinux 的详细信息

  • 高级性能分析*
    包括性能分析中的所有检查,并收集一个或多个跟踪,如以下部分所述。 使用此方案排查需要其他跟踪的复杂问题。 长时间运行此方案会增加诊断输出的总体大小,具体取决于 VM 的大小和所选的跟踪选项。 此分析需要 30 秒到 15 分钟才能运行,具体取决于所选持续时间。 了解更多

  • Azure 文件存储分析*
    包括性能分析中的所有检查,并捕获网络跟踪和 SMB 计数器。 使用此方案排查 Azure 文件的性能问题。 此分析需要 30 秒到 15 分钟才能运行,具体取决于所选持续时间。 了解更多

注意

[*] 这些分析方案仅在 Windows 上受支持。

“性能诊断”边栏选项卡中的“运行诊断”窗格的屏幕截图。

(可选) 提供症状

从列表中选择任何预先选择的症状,或添加新症状。 这有助于我们改进将来的分析。

提供支持请求编号(如果可用) (可选)

如果你正在与 Microsoft 支持工程师合作处理现有支持票证,请提供支持票证编号。

若要运行诊断,必须同意法律条款并接受隐私策略。

选择“确定”以运行诊断

性能诊断开始安装时会显示通知。 安装完成后,会看到一条通知,指示安装成功。 然后,所选分析将在指定的持续时间内运行。 这是重现性能问题的好时机,以便在正确的时间捕获诊断数据。

分析完成后,以下项将上传到 Azure 表和二进制大型对象 (BLOB) 指定存储帐户中的容器:

  • 有关运行的所有见解和相关信息
  • Windows 上名为 PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.zip ) 的输出压缩 (.zip) 文件 (,Linux 上包含日志文件的名为 PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.tar.gz ) 的 tar 文件 (
  • HTML 报表

上传后,Azure 门户中列出了新的诊断报表。

“性能诊断”边栏选项卡中诊断报表列表的屏幕截图。

如何更改性能诊断设置

使用“设置”工具栏按钮可更改存储诊断见解和输出的存储帐户。 可以将同一存储帐户用于使用性能诊断的多个 VM。 更改存储帐户时,不会删除旧的报表和见解。 但是,它们将不再显示在诊断报表列表中。

注意

性能诊断见解和报表存储在自己的存储帐户中。 见解存储在 Azure 表中,报表以压缩文件的形式存储在名为 azdiagextnresults 的二进制大型对象 (BLOB) 容器中。

如果存储帐户使用专用终结点,若要确保性能诊断可以在存储帐户中存储见解和报表,请执行以下两项操作:

  1. 为表和 BLOB 创建单独的专用终结点。
  2. 将 DNS 配置添加到每个单独的专用终结点。

查看见解和性能诊断报表

每个诊断运行都包含一个列表,其中包含见解和建议、受影响的资源、日志文件和其他收集的丰富诊断信息,以及用于脱机查看的报告。 有关收集的所有诊断数据的完整列表,请参阅 WindowsLinux 上的 PerfInsights 收集了哪些类型的信息

选择性能诊断报表

可以使用诊断报表列表查找已运行的所有诊断报表。 该列表包括有关所用分析、发现的见解及其影响级别的详细信息。 选择一行以查看更多详细信息。

从“性能诊断”边栏选项卡中选择诊断报表的屏幕截图。

查看性能诊断报表

每个性能诊断报表可能包含多个见解,并指示影响级别为“高”、“中”或“低”。 每个见解还包含有助于减轻关注的建议。 见解分组以便于筛选。

影响级别表示性能问题的潜在可能性,具体取决于配置错误、已知问题或其他用户报告的问题等因素。 你可能尚未遇到一个或多个列出的问题。 例如,你可能在同一数据磁盘上具有 SQL 日志文件和数据库文件。 如果数据库使用率较高,则这种情况很可能出现瓶颈和其他性能问题,而如果使用率较低,则可能不会注意到问题。

“性能诊断报表概述”边栏选项卡的屏幕截图。

查看性能诊断见解和建议

可以选择见解来查看有关受影响资源、建议的缓解措施和参考链接的更多详细信息。

性能诊断见解详细信息的屏幕截图。

下载并查看完整性能诊断报告

可以使用“下载报告”按钮下载包含其他丰富诊断信息的 HTML 报表,例如存储和网络配置、性能计数器、跟踪、进程列表和日志。 内容取决于所选分析。 对于高级故障排除,报告可能包含与 CPU 使用率高、磁盘使用率高以及占用过多内存的进程相关的其他信息和交互式图表。 有关性能诊断报表的详细信息,请参阅 WindowsLinux

注意

性能诊断报表可以在创建后的 30 天内从“性能诊断”边栏选项卡下载。 30 天后,从 “性能诊断 ”边栏选项卡下载报告时,可能会收到错误。 若要在 30 天后获取报表,请转到存储帐户,并从名为 azdiagextnresults 的二进制大型对象 (BLOB) 容器下载它。 可以使用工具栏上的 “设置” 按钮查看存储帐户信息。

管理性能诊断报告

可以使用“删除报表”按钮删除一个或多个性能诊断报表

如何卸载性能诊断

可以从 VM 卸载性能诊断。 此操作将删除 VM 扩展,但不会影响存储帐户中的任何诊断数据。

“性能诊断”边栏选项卡工具栏的屏幕截图,其中突出显示了“卸载”按钮。

跨区域移动 Azure 资源

可以使用 Azure 资源转移器跨区域移动 Azure VM 以及相关的网络和存储资源。 但是,不支持跨区域移动 VM 扩展。 例如,不支持跨区域移动 Azure 性能诊断 VM 扩展。 移动 VM 后,必须在目标区域中的 VM 上手动安装它。 有关详细信息,请参阅 在 Azure 区域之间移动 Azure VM 的支持矩阵

常见问题解答

其中存储了 VM 中的诊断数据

所有性能诊断见解和报告都存储在你自己的存储帐户中。 见解存储在 Azure 表中。 报表压缩文件存储在名为 azdiagextnresults 的 BLOB) 容器 (二进制大型对象中。

可以使用工具栏上的“设置”按钮查看存储帐户信息。

如何实现与 Microsoft 客户支持共享此数据

可通过多种方式与 Microsoft 共享诊断报表。

选项 1: 自动共享最新报表
向 Microsoft 开具支持票证时,请务必共享性能诊断报表。 如果在运行诊断 (时选择通过选择“我同意与 Microsoft 共享诊断信息”检查 框) 与 Microsoft 共享此信息,则 Microsoft 将能够从运行日期开始最多 30 天内使用指向输出 zip 文件的 SAS 链接访问存储帐户的报告。 只有最新的报告可供支持工程师使用。

选项 2:为诊断报表压缩文件生成共享访问签名
可以使用共享访问签名共享报表压缩文件的链接。 为此,请按照下列步骤操作:

  1. 在Azure 门户,浏览到存储诊断数据的存储帐户。
  2. 选择“数据存储”部分下的“容器”。”。
  3. 选择 azdiagextnresults 容器。
  4. 选择要共享的性能诊断输出压缩文件。
  5. 在“ 生成 SAS ”选项卡上,选择共享条件。
  6. 单击“ 生成 Blob SAS 令牌和 URL”。
  7. 复制 Blob SAS URL,并将其与支持工程师共享。

选项 3: 从存储帐户下载报表

还可以使用选项 2 中的步骤 1-4 找到性能诊断报表压缩文件。 选择下载文件,然后通过电子邮件共享该文件,或向支持工程师询问上传文件的说明。

如何实现在正确的时间捕获诊断数据

每个性能诊断运行有两个阶段:

  1. 诊断 VM 扩展安装或更新性能。
  2. 在指定的持续时间内运行诊断。

目前,无法准确了解 VM 扩展安装完成的时间。 通常,安装 VM 扩展大约需要 45 秒到 1 分钟。 安装 VM 扩展后,可以运行重现步骤,让性能诊断捕获正确的数据集进行故障排除。

联系我们寻求帮助

如果你有任何疑问或需要帮助,请创建支持请求联系 Azure 社区支持。 还可以向 Azure 反馈社区提交产品反馈。