读取速度慢。 Raid 10 + H700(1GB RAM +电池)+ 4x 450日立15K

所以我已经在Raid 10(戴尔T610 + H700 +内存+电池)中安装了4x 450GB的日立15K。

我有一个很简单的问题。 阅读速度很糟糕,我也安装了Raid 0(2x 3TB WD Red),速度为330MB / s读取和310MB / s写入。

在RAID10中使用4个15K 450GB SAS驱动器时,我只能读取300-360MB / s和330MB / r:据我所知,应该读取500-600MB / s和300MB / s的写入。 ..

我正在使用新的固件H700,戴尔T610,Windows Server 2008 R2新的BIOS。

整个系统拥有1x 120GB Vertex 3 for OS 2x 3TB 7K Raid 0(330MB / s&310MB / s)4x 450GB 15K Raid 10(300-360MB / s&330MB / s)

所有testing在CrystalDiskMark上完成

到底是怎么回事 ???

当我试图在驱动器之间复制数据时,我可以看到有时非常高的传输速度,但只有几秒钟,通常是〜190-250MB / s 🙁

这是不能接受的performance不好,我想问你我应该检查什么…

这个服务器只有一个angular色,1个数据库的SQL Server(裸机)〜2.5TB(约150M行)(数据库在2个3TB的RAID上),第二个数据库应该部署在4个450GB的RAID 10(〜500-600GB行))…


好的我在这里发现了这个问题!

出于某种原因,在阅读过程中只使用2个驱动器! (只有2个驱动器在闪烁)

它是4倍的RAID 10所以它应该使用4倍驱动器,我在这里做错了什么?

这是戴尔Perc H700

在顺序性能方面,对于读写,四个驱动器的RAID10的行为与两个驱动器的RAID0完全一样。 你看到自己只有两个驱动器闪烁。 这是预期的行为。

这是因为,标准configuration中的 RAID1 不会增加顺序读取速度 。 (十一年前一直在想同样的事情,FreeBSD开发者Pawel Jakub Dawidek得到了这个答案)。

问题是,在标准RAID1中,两个驱动器上都有相同的数据。 所以如果你从一个驱动器读取部分而从另一个读取部分,则必须实际跳过(寻找)未读部分。 但是实际上,跳过它就像在读取数据一样,在性能方面代价很高。 因此,在设置中,您只能从RAID0中获得性能优势。 (我想你的驱动器读取每个约150-180MB / s。)

有一些技术可以帮助提高RAID1arrays的读取速度。 例如,你可以看看在Linux md驱动程序中的布局(远和偏移量)。 这个答案很好解释。