调整 mdadm RAID 5 性能?

调整 mdadm RAID 5 性能?

我有一个双系统英特尔 E5-2620 v3 @ 2.40GHz, 64 GB 内存,LSI 3008 主机总线适配器、8 倍1.6 TB 英特尔 S3510 SSD。我一直在使用 fio 在不同配置下对其进行基准测试,并得到了一些有趣的结果。对每个原始磁盘进行单独基准测试,我看到每个设备的随机写入速度约为 450 MB/s。在 RAID0(无奇偶校验条带)中,我看到~3500MB/秒随机写入 - 基本上是 450 * 8 个磁盘。

然而,当我尝试 RAID 5 时,性能完全下降了。我知道 raid5 应该比 raid0 差很多,但使用相同测试的 RAID5 性能大约是50 MB/秒。我以前用过 RAID 5,虽然性能一直不太好,但我从未见过 99% 的损失。我运行的 fio 测试有 600 个线程在 512k 块中写入随机数据。所有这些测试中设备上的文件系统都是 xfs。

设置/sys/block/md0/md/stripe_cache_size为 32768(最大可能值)可使整体吞吐量增加到~130 MB/秒,这让我认为问题在于缺少硬件 RAID 控制器中那样的写回缓存。但我想知道我是否可以做些什么来提高 mdadm raid 5 的性能。知道是什么原因造成的吗,或者如何提高 raid 5 的性能?

有趣的是,我还尝试了 16 磁盘 RAID-10(相同的磁盘加上第二个 LSI HBA),性能约为 2400 MB/s - 比 RAID 0 降低了 33%。考虑到 RAID10 的工作方式,我本来预计其性能与 RAID 0 几乎相同。

对于任何感兴趣的人,这里是 fio 配置文件:

[global]
rw=randwrite
direct=1
numjobs=600
group_reporting
bs=512k
runtime=120
ramp_time=5
size=10G


[raid]
new_group
directory=/raid/

相关内容