在对基于 SSD 的 3 路 RAID 1 镜像进行一些性能测试(由 mdadm 提供支持)时,我们似乎遭受了严重的写入损失,比仅在单个驱动器上进行相同测试慢了约 2.2 倍。我们在此测试中读取和写入相同的底层物理驱动器,因为这模拟了我们感兴趣的真实世界测试案例。
这种减速是由于 SATA III 速度限制还是其他原因造成的?我很惊讶 RAID 1 会有写入损失,因为我认为它可以同时写入所有三个驱动器,速度与写入其中一个驱动器的速度相同。
All three drives present:
dd if=/dev/md3 of=test.file bs=1048576 count=37193
...207.748 s, 188 MB/s
Just two drives present (i.e. normal two-drive RAID 1)
dd if=/dev/zero of=test.file bs=1048576 count=37193
...119.016 s, 328 MB/s
Just one drive present (no redundancy)
dd if=/dev/zero of=test.file bs=1048576 count=37193
...93.794 s, 416 MB/s
答案1
看起来所有三个 SSD 都在同一个控制器上,并且您达到了最高 SATA III 速度等级:
第三代 SATA 接口的原始传输速率为 6.0 Gbit/s;考虑到 8b/10b 编码,最大未编码传输速率为 4.8 Gbit/s(600 MB/s)。(来源)
您对同时写入所有三个驱动器的测试,因此 188MB/s 实际上是 564MB/秒,略低于最大速度。
如果您可以将一个或多个 SSD 移动到单独的控制器,这可能会有所帮助。
您遇到的这个限制是基于 PCIe 闪存的存储出现在越来越多的高端系统中的原因之一。