我有/和/ home的软件RAID 1,似乎我没有得到正确的速度。
从md0读取我得到大约100 MB /秒读取sda或sdb我得到大约95-105 MB /秒
我以为我会从两个驱动器获得更多的速度(同时读取数据)。 我不知道是什么问题。
我正在使用内核2.6.31-18
hdparm -tT / dev / md0
/ dev / md0:定时caching读取:2.00秒中2078 MB = 1039.72 MB /秒定时caching磁盘读取:3.01秒中304 MB = 100.96 MB /秒
hdparm -tT / dev / sda
/ dev / sda:定时caching读取:2.84秒中的2084 MB = 1041.93 MB /秒定时缓冲磁盘读取:3.02秒中的316 MB = 104.77 MB /秒
hdparm -tT / dev / sdb
/ dev / sdb:定时caching读取:2.00秒中2150 MB = 1075.94 MB /秒定时caching磁盘读取:3.01秒中为302 MB = 100.47 MB /秒
编辑:RAID 1
看看下面的文章,在nixCraf,如何:加快Linux软件RAIDbuild设和重新同步 。
它解释了/ proc中可以调整以影响软件RAID速度的不同设置。 (不只是在标题build议的构build/同步期间)。
什么样的RAID?
0和1的任何组合都不会对延迟或带宽的非并行基准做出重大改进。 RAID 3/5应该提供更好的带宽,但延迟没有区别。
C。
问题是,尽pipe你的直觉,Linux软件RAID 1不使用两个驱动器进行单个读取操作。 为了获得速度优势,您需要有两个分开的读取操作并行运行。
使用RAID 1读取单个大文件永远不会更快。
要获得相同级别的冗余,以及预期的速度优势,您需要使用“远”布局的RAID 10。 这将剥离数据并将其映射到两个磁盘上。 这些磁盘每个都被分成几个部分。 有两个段,驱动1,段1上的条纹被复制到驱动2,段2.驱动1,段2被复制到驱动2,段1。
正如你可以看到这些基准testing RAID 10,F2读取速度类似于RAID 0:
RAID type sequential read random read sequential write random write Ordinary disk 82 34 67 56 RAID0 155 80 97 80 RAID1 80 35 72 55 RAID10,n2 79 56 69 48 RAID10,f2 150 79 70 55
f2仅仅意味着2段的远布局。
而且,在我的个人testing中,我发现写作performance是痛苦的。 注意上面的基准testing表明,在RAID10中,f2的写入速度应该几乎相当于单个磁盘。 我发现速度几乎下降了30%。 经过多次实验后,我发现将IO调度程序从cfq更改为最终期限可以解决问题。
echo deadline > /sys/block/md0/queue/scheduler
这里是一些更多的信息: http : //www.cyberciti.biz/faq/linux-change-io-scheduler-for-harddisk/
有了这个设置,你应该能够顺序读取大约185-190 MB / s。