你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
适用于 Linux 的 Azure NetApp 文件大型卷性能基准
本文描述了在 Linux 用例中,单个 Azure NetApp 文件大型卷的经过测试的性能。 测试探索了横向扩展和纵向扩展读写工作负载的场景,涉及一台和多台虚拟机 (VM)。 了解大型卷的性能范围有助于调整卷大小。
测试摘要
Azure NetApp 文件大型卷功能提供三个服务级别,每个服务级别都有吞吐量限制。 随着性能需求的变化,服务级别可以实现无缝提高或降低。
- “超高性能”服务级别:12,800 MiB/秒
- “高级性能”服务级别:6,400 MiB/秒
- “标准性能”服务级别:1,600 MiB/秒
这些测试中使用了“超级性能”服务级别。
顺序写入:在这些基准测试中,100% 顺序写入的最大速度大约为 8,500 MiB/秒。 (此服务将单个大型卷的最大吞吐量限制为 12,800 MiB/秒,因此,更大的潜在吞吐量是可能的。)
顺序读取:在这些基准测试中,100% 顺序读取的最大速度大约为 12,761 MiB/秒。 (单个大型卷的吞吐量限制为 12,800 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“超高性能”(12,800 MiB/秒吞吐量) |
装载选项 | hard,rsize=65536,wsize=65536,vers=3 注意:使用 262144 和 65536 有类似的性能结果。 |
256-KiB 连续工作负载(MiB/秒)
该图表示使用 12 个虚拟机使用 1-TiB 工作集对单个大卷进行读写的 256KiB 顺序工作负载。 该图显示了单个 Azure NetApp 文件大型卷的处理速度可在大约 8,518 MiB/秒(纯连续写入)到大约 12,761 MiB/秒(纯连续读取)之间。
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“超高性能”(12,800 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 大小,结果性能相当。 有关详细信息,请参阅 rsize
和 wsize
。
Linux 读取吞吐量
下图显示了使用 nconnect
时 256-KiB 的连续读取速度约为 10,000MiB/秒,这大约是不使用 nconnect
时吞吐量的十倍。
请注意,10,000 MiB/秒大致是连接到 E104id_v5 的 100 Gbps 网络适配卡的线路速率。
Linux 写入吞吐量
下图显示了顺序写入。 使用 nconnect
可明显提升连续写入速度至 6,600 MiB/秒,大约是未使用 nconnect
时装载速度的四倍。
Linux 读取 IOPS
下图显示,使用 nconnect
时,8-KiB 随机读取的 IOPS 为 426,000 左右,大约是不使用 nconnect
时的七倍。
Linux 写入 IOPS
下图显示,使用 nconnect
时,8-KiB 随机写入的 IOPS 约为 405,000,大约是不使用 nconnect
时的 7.2 倍。