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

优化 Lsv3、Lasv3 和 Lsv2 系列 Windows VM 的性能

适用于:✔️ Windows VM ✔️ 统一规模集

Lsv3、Lasv3 和 Lsv2 系列 Azure 虚拟机 (Azure VM) 支持需要在各种应用与行业的本地存储中提供高 I/O 和吞吐量的各种工作负载。 L 系列非常适用于大数据、SQL、NoSQL 数据库、数据仓库,以及大型事务数据库(包括 Cassandra、MongoDB、Cloudera 和 Redis)。

Lsv3、Lasv3 和 Lsv2 系列 VM 还能满足 Windows 和 Linux 操作系统的需求,使其能够提高硬件和软件的性能。

对软件和硬件进行优化后,得到了发布到 Azure 市场(及更高版本)的 Windows Server 2019 Datacenter 优化版本,该版本支持在 L 系列 VM 中的 NVMe 设备上发挥最高性能。

本文提供了一些技巧和建议来确保你的工作负荷和应用程序达到 VM 中设计的最高性能。

AMD EPYC™ 芯片集体系结构

Lasv3 和 Lsv2 系列 VM 使用基于 Zen 微体系结构的 AMD EYPC™ 服务器处理器。 AMD 开发了 Infinity Fabric (IF) for EYPC™ 作为其 NUMA 模型的可缩放互连结构,可用于晶片上通信、封装上通信和多封装通信。 与 Intel 新式单晶片处理器上使用的 QPI(快速路径互连)和 UPI(超路径互连)相比,AMD 的多 NUMA 小晶片体系结构既可以带来性能优势,同时也会带来挑战。 内存带宽和延迟约束的实际影响可能因工作负载的类型而异。

有关最大化性能的提示

  • 若要获得最大性能,请为每个设备运行具有较深队列深度的多个作业。

  • 在工作负载处于活动状态期间,避免将 NVMe 管理命令(例如 NVMe SMART 信息查询)与 NVMe I/O 命令混合使用。 Lsv3、Lasv3 和 Lsv2 NVMe 设备以 Hyper-V NVMe Direct 技术为后盾,每当有任何 NVMe 管理命令处于挂起状态时,该技术就会切换到“慢速模式”。 如果发生这种情况,Lsv3、Lasv3 和 Lsv2 用户可能会发现 NVMe I/O 性能显著下降。

  • 不推荐 Lsv2 用户依赖于从 VM 内部报告的数据驱动器设备 NUMA 信息(全部为 0)来确定其应用的 NUMA 关联性。 若要获得更好的性能,建议的方法是尽可能在多个 CPU 之间分散工作负载。

  • Lsv3、Lasv3 和 Lsv2 VM NVMe 设备的每个 I/O 队列对支持的最大队列深度为 1024。 推荐 Lsv3、Lasv3 和 Lsv2 用户将其(合成)基准工作负载限制为队列深度 1024 或更低,以免触发“队列已满”条件,从而降低性能。

  • 直接对具有未分区、无文件系统、无 RAID 0 配置等特点的每个原始 NVMe 设备执行 I/O 操作时,会获得最佳性能。

利用本地 NVMe 存储

所有 Lsv3、Lasv3 和 Lsv2 VM 上的 1.92 TB NVMe 磁盘中的本地存储都是临时性的。 在以标准方式成功重启 VM 期间,会保存本地 NVMe 磁盘上的数据。 如果重新部署、解除分配或删除 VM,则不会在 NVMe 上保存数据。 如果其他问题导致 VM 或 VM 运行所在的硬件变得不正常,则不会保存数据。 发生这种情况时,将会安全擦除旧主机上的所有数据。

还存在需要将 VM 转移到其他主机的情况(例如,在计划内维护操作期间这样做)。 在发生计划事件期间,预期会出现计划内维护操作失败和硬件故障的情况。 使用计划事件来随时了解任何预测性维护和恢复操作的最新情况。

如果计划内维护事件要求在具有空本地磁盘的新主机上重新创建 VM,则需要重新同步数据(同样,会安全擦除旧主机上的所有数据)。 之所以发生这种情况,是因为 Lsv3、Lasv3 和 Lsv2 系列 VM 目前不支持在本地 NVMe 磁盘上进行实时迁移。

计划内维护有两种模式:标准 VM 客户控制的维护自动维护

对于即将发生的任何服务事件,请使用受控维护过程,选择最方便的更新时间。 在该事件发生之前,请在高级存储中备份数据。 维护事件完成后,可将数据返回到已刷新的 Lsv2 VM 本地 NVMe 存储中。

在本地 NVMe 磁盘上维护数据的场景包括:

  • VM 正在运行且正常。
  • VM 已由你或 Azure 就地重启。
  • VM 已暂停(已停止但未解除分配)。
  • 大多数计划内维护检修操作。

会安全擦除数据以保护客户的场景包括:

  • VM 已由你重新部署、停止(解除分配)或删除。
  • VM 由于硬件问题而变得不正常,必须在另一个节点上进行检修和修复。
  • 一些计划内维护检修操作要求将 VM 重新分配到另一台主机进行检修。

VM 客户控制的标准维护

在标准 VM 客户控制的维护中,VM 在 30 天时段内移动到更新的主机。

Lsv3、Lasv3 和 Lsv2 本地存储数据可能会丢失,因此建议在发生该事件之前备份数据。

自动维护

如果客户未执行客户控制的维护,则会发生自动维护。 由于紧急过程(例如安全零天事件),自动维护也可能发生。

此类维护旨在保留客户数据,但存在 VM 冻结或重启的风险(可能性很小)。

Lsv3、Lasv3 和 Lsv2 本地存储数据可能会丢失,因此建议在发生该事件之前备份数据。

常见问题

下面是关于这些系列的常见问题解答。

如何开始部署 L 系列 VM?

与任何其他 VM 一样,请使用 Azure 门户Azure Command-Line 接口 (Azure CLI) 或通过 PowerShell 创建 VM。

单个 NVMe 磁盘发生故障是否会导致主机上的所有 VM 都发生故障?

如果在硬件节点上检测到磁盘故障,意味着该硬件处于故障状态。 出现这种问题时,该节点上的所有 VM 都将自动解除分配并转移到正常的节点。 对于 Lsv3、Lasv3 和 Lsv2 系列 VM,此场景意味着会安全擦除故障节点上的客户数据。 客户需要在新节点上重新创建数据。

是否需要在 Windows Server 2012 或 Windows Server 2016 中进行轮询调整?

NVMe 轮询仅在 Azure 上的 Windows Server 2019 及更高版本中可用。

是否可以切回到传统的中断服务例程 (ISR) 模型?

Lasv3 和 Lsv2 系列 VM 已针对 NVMe 轮询进行优化。 我们会不断提供更新以改善轮询性能。

是否可以在 Windows Server 2019 或更高版本中调整轮询设置?

用户无法调整轮询设置。

后续步骤

参阅 Azure 上已针对存储性能进行优化的所有 VM 的规格。