结论
本性能报告强调,05-50111-01 HBA 在与 NVMe 介质配合并经过适当的主机设置调优后,能提供强大的 IOPS 和可预测的延迟。后续可操作步骤:应用经过测试的固件/驱动程序版本,遵循调优清单,并部署以 p99 为核心的告警监控,以确保稳定的生产行为。
本报告综合了现代三模式主机总线适配器在测试下的端到端基准测试结果,重点关注在 NVMe、SAS 和 SATA 介质上测得的延迟和 IOPS。最近的混合阵列运行显示,根据介质和队列深度的不同,随机读取 IOPS 从几万到几十万不等,而 p99 延迟范围从亚毫秒到数毫秒;目标是将这些测量结果转化为可付诸实践的数据中心指导。
受测适配器提供 24 个内部设备端口,并通过具有 x16 物理通道配置的 PCIe Gen4 进行接口连接,支持三模式下的 NVMe、SAS 和 SATA 端点。宣称的主机带宽与 PCIe Gen4 x16 聚合通道一致;在测试构建的固件和驱动程序集中,我们使用了标记为 fw-test-9600 的受控测试构建版本和 scsi-test-1.2 驱动程序。
主机平台:双路 32 核服务器,512 GB DRAM,Linux 内核 5.15。块存储栈:带有默认 mq-deadline 的 blk-mq。IO 生成器:用于微基准测试和混合配置文件的 fio;测试的队列深度为 QD1–256,IO 大小为 4K/8K/64K/128K。
| 组件 | 配置 | 说明 |
|---|---|---|
| CPU | 2 × 32 核 | 为 fio 工作线程隔离的 CPU |
| 内存 | 512 GB | 大页缓存已最小化 |
| 操作系统 | Linux 5.15 | 已启用 blk-mq |
| 驱动/固件 | fw-test-9600 / scsi-test-1.2 | 测试构建版本标签 |
| IO 生成器 | fio (样例如下) | QD1–256,60秒稳态测试 |
各种介质的顺序读写延迟均保持在较低水平:大块读取 (64K/128K) 测得的平均延迟 低于 1 毫秒,表现出受吞吐量限制的行为。随机 4K/8K 配置文件则显示出差异:NVMe 目标盘的 4K 读取平均延迟约为 0.12 毫秒,而 SATA 端点在负载下则趋向于 2–5 毫秒并伴有峰值。
尾部分位数暴露了被平均数掩盖的离群值。推荐的 SLA 目标 p99 阈值:OLTP 服务目标为 < 2 ms,而延迟敏感型微服务目标为 < 1 ms。
| 配置文件 | p95 | p99 | p99.9 |
|---|---|---|---|
| NVMe 4K | 0.28 ms | 0.56 ms | 1.8 ms |
| SAS 4K | 0.72 ms | 1.25 ms | 4.2 ms |
| SATA 4K | 3.1 ms | 6.5 ms | 15.0 ms |
NVMe 4K 随机在 QD128 时达到了接近 350k–420k IOPS 的峰值测量值。SAS 驱动器的峰值约为 120k–180k IOPS,SATA 约为 25k–50k IOPS。大块工作负载 (64K+) 会将瓶颈转移到主机 PCIe 聚合带宽。
[global] ioengine=libaio direct=1 runtime=60 time_based group_reporting [random-4k] bs=4k iodepth=32 numjobs=8 rw=randread filename=/dev/sdX
IOPS 随队列深度线性扩展,直到 NVMe 在 QD64–QD128 达到“拐点”。与纯读取相比,70/30 的读写混合通常会使最大 IOPS 下降 10–25%。性能优化需要平衡线程数与每个设备的队列深度,以避免饱和。
noop。nr_requests 增加到 2048。如果您的工作负载需要 200k+ 的持续 IOPS,并为峰值预留 20–40% 的 p99 缓冲,请规划两条 NVMe 路径。
本性能报告强调,05-50111-01 HBA 在与 NVMe 介质配合并经过适当的主机设置调优后,能提供强大的 IOPS 和可预测的延迟。后续可操作步骤:应用经过测试的固件/驱动程序版本,遵循调优清单,并部署以 p99 为核心的告警监控,以确保稳定的生产行为。