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

适用于 Linux 的 Azure NetApp 文件大型卷性能基准

本文描述了在 Linux 用例中,单个 Azure NetApp 文件大型卷的经过测试的性能。 测试探索了横向扩展和纵向扩展读写工作负载的场景,涉及一台和多台虚拟机 (VM)。 了解大型卷的性能范围有助于调整卷大小。

测试摘要

  • Azure NetApp 文件大型卷功能提供三个服务级别,每个服务级别都有吞吐量限制。 随着性能需求的变化,服务级别可以实现无缝提高或降低。

    • “超高性能”服务级别:10,240 MiB/秒
    • “高级性能”服务级别:6,400 MiB/秒
    • “标准性能”服务级别:1,600 MiB/秒

    这些测试中使用了“超级性能”服务级别。

  • 连续 I/O:100% 连续写入的最大速度为 8,500 MiB/秒,而单个大型卷的吞吐量可达 10 GiB/秒(10,240 MiB/秒)。

  • 随机 I/O:同样的单个大型卷每秒可进行超过 700,000 个操作。

  • 元数据密集型工作负载对于 Azure NetApp 文件大型卷来说非常有利,因为大型卷的并行性更高。 在文件创建、取消链接和文件重命名工作量较大的工作负载(如典型的 VCS 应用程序)和文件数量较多的 EDA 工作负载中,性能优势非常明显。 有关高元数据工作负载性能的更多信息,请参阅将 Azure NetApp 文件用于电子设计自动化的优势

  • FIO 是设计为存储压力测试的合成工作负载生成器,用于驱动这些测试结果。 存储性能测试基本上有两种模型:

    • 横向扩展计算,指的是使用多个 VM 在单个 Azure NetApp 文件卷上生成可能的最大负载
    • 纵向扩展计算,指的是使用大型 VM 在单个 Azure NetApp 文件卷上测试单个客户端的上限

Linux 横向扩展测试

测试观察了单个大型卷在横向扩展时的性能阈值,且测试采用以下配置:

组件 配置
Azure VM 大小 E32s_v5
Azure VM 流出量带宽限制 2000MiB/秒(2GiB/秒)
操作系统 RHEL 8.4
大型卷大小 101 TiB“超高性能”(10,240 MiB/秒吞吐量)
装载选项 hard,rsize=65536,wsize=65536,vers=3
注意:使用 262144 和 65536 有类似的性能结果

256-KiB 连续工作负载(MiB/秒)

该图表示 256 KiB 连续工作负载和 1 TiB 工作集。 它显示单个 Azure NetApp 文件大型卷的处理速度可在大约 8,518 MiB/秒(纯连续写入)到大约 9,970 MiB/秒(纯连续读取)之间。

大型卷上 256-KiB 连续工作负载的条形图。

8-KiB 随机工作负载 (IOPS)

该图表示 8-KiB 随机工作负载和 1 TiB 工作集。 该图显示 Azure NetApp 文件大型卷的处理次数可在大约 474,000 次(纯随机写入)到大约 709,000 次(纯随机读取)之间。

大型卷上随机工作负载的条形图。

Linux 纵向扩展测试

横向扩展测试旨在找出单个大型卷的极限,而纵向扩展测试则旨在找出所述大型卷中单个实例的上限。 Azure 对其 VM 设置了网络流出量限制;对于网络附加存储而言,这意味着每个 VM 的写入带宽都有上限。 这些纵向扩展测试表明,在可用带宽上限较大且有足够的处理器来驱动所述工作负载的情况下,这些功能是可行的。

本部分中的测试使用以下配置运行:

组件 配置
Azure VM 大小 E104id_v5
Azure VM 流出量带宽限制 12,500MiB/秒(12.2GiB/秒)
操作系统 RHEL 8.4
大型卷大小 101 TiB“超高性能”(10,240 MiB/秒吞吐量)
装载选项 hard,rsize=65536,wsize=65536,vers=3
注意:使用 262144 和 65536 有类似的性能结果

本部分中的图显示了使用 NFSv3 的 nconnect 客户端装载选项的结果。 有关详细信息,请参阅适用于 Azure NetApp 文件的 Linux NFS 装载选项最佳做法

下图比较了 nconnect 和不带 nconnect 的 NFS 装载卷的优势。 在测试中,FIO 使用 64KB 连续工作负载从美国东部 Azure 区域的单个 E104id-v5 实例生成工作负载;使用了 256 I/0 大小,这是 Azure NetApp 文件建议的最大 I/O 大小,结果性能相当。 有关详细信息,请参阅 rsizewsize

Linux 读取吞吐量

下图显示了使用 nconnect 时 256-KiB 的连续读取速度约为 10,000MiB/秒,这大约是不使用 nconnect 时吞吐量的十倍。

请注意,“超高性能”服务级别中的大型卷提供 10,000 MiB/秒的带宽。

使用和不使用 nconnect 时读取吞吐量的条形图比较。

Linux 写入吞吐量

下图显示了顺序写入。 使用 nconnect 可明显提升连续写入速度至 6,600 MiB/秒,大约是未使用 nconnect 时装载速度的四倍。

使用和不使用 nconnect 时写入吞吐量的条形图比较。

Linux 读取 IOPS

下图显示,使用 nconnect 时,8-KiB 随机读取的 IOPS 为 426,000 左右,大约是不使用 nconnect 时的七倍。

有 IOPS 和没有 IOPS 的读取 IOPS 比较图。

Linux 写入 IOPS

下图显示,使用 nconnect 时,8-KiB 随机写入的 IOPS 约为 405,000,大约是不使用 nconnect 时的 7.2 倍。

有 IOPS 和没有 IOPS 的写入 IOPS 比较图。

后续步骤