我们目前正在测试连接到运行 RHEL 5(具有 128 GB 内存)的 HP DL580 G7 的存储系统(两个 HP P2000 阵列后面总共有 48 个磁盘)的最大连续读取吞吐量。
初步测试主要通过运行如下 DD 命令完成:
dd if=/dev/mapper/mpath1 of=/dev/null bs=1M count=3000
对每个磁盘并行进行。
但是,我们无法将结果从一个阵列(最大吞吐量为 1.3 GB/s)扩展到两个阵列(总吞吐量几乎相同)。每个阵列都连接到专用的 FC 主机总线适配器,因此它们不应该成为瓶颈。磁盘目前采用 JBOD 配置,因此每个磁盘都可以直接寻址。
我有两个问题:
并行运行多个 DD 命令真的是测试最大读取吞吐量的好方法吗?
我们应该如何着手寻找扩展问题的原因?您认为服务器本身是瓶颈吗?还是我们忽略了一些 Linux 参数?
答案1
我建议尝试一下专门的基准测试工具,例如邦尼++或者碘(均可通过 RPMForge 的 yum 获得)以准确表示存储系统的功能。Iozone 将允许您指定线程数、块大小和读/写模式。IOP 在您的用例中不重要吗?
您如何连接到此设备?FC?SAS?您能描述一下您的 RAID 配置吗?您没有指定确切的 P2000 型号或代数(我假设每个机箱有 G2 或 G3 24SFF 和 12LFF 磁盘),但 24SFF 设备存在一定程度的超额认购,因此我预计您的连续读取速度会因此受到限制。
这HP MSA2324 G3 LFF 的 QuickSpecs显示 4Gb FC RAID 1+0 读取速度为 1.6GB/s。RAID 5 和 RAID 6 也是如此,因此控制器/接口似乎是限制因素。