我注意到写入raid-6的速度非常低,但是当我用hdparm进行testing时,速度是合理的:
dd if=/dev/zero of=/store/01/test.tmp bs=1M count=10000
给出:50Mb / s甚至更less。
hdparm给出:hdparm –direct -t / dev / vg_store_01 / logical_vg_store_01提供450MB / s
为什么文件写入低于hdparmtesting? 是否应该调整一些内核限制?
我有一个Areca 1680适配器与16x1Tb SAS磁盘,科学的Linux 6.0
编辑
我的错。 对不起,所有单位都是MB / s
更多关于硬件:
两个quadcore机器中的2个areca控制器。 16Gb内存
sas背板和areca的固件是最近的一个。
磁盘是希捷7.200转16x1Tb x2 RAID盒。 每8个磁盘raid6,所以总共4卷,IBA = 64。
两卷分条纹lvm和格式化的ext4
条纹大小是128
当我格式化卷我可以看到iotop它写入400mb /秒
iostat还显示,两个lvm成员驱动器正在写450MB / s
最终以1600GB / s写入
其中一个突袭是由于磁盘损坏而导致性能下降。 奇怪的是,在jbod模式下,hdparm和其他硬盘一样可以达到100MB / s。 沉重的IO后,它报告在日志文件写入错误(不是有10个)。 袭击仍然没有失败或有辱人格。
那么更换后,我的configuration如下:
卷组大小为128K的卷组
格式化为XFS
直接
hdparm –direct -t / dev / vg_store01 / vg_logical_store01
/ dev / vg_store01 / vg_logical_store01:计时O_DIRECT磁盘读取:3.00秒内为4910 MB = 1636.13 MB /秒
没有直接的
hdparm -t / dev / vg_store01 / vg_logical_store01
/ dev / vg_store01 / vg_logical_store01:定时缓冲磁盘读取:在3.00秒中1648 MB = 548.94 MB /秒
** ddtesting直接**
dd if = / dev / zero = / store / 01 / test.tmp bs = 1M count = 10000 oflag =直接10000 + 0logging10000 + 0logging出10485760000字节(10 GB)复制8.87402 s 1.2 GB /小号
**无直接**
dd if = / dev / zero = / store / 01 / test.tmp bs = 1M count = 10000 10000 + 0logging10000 + 0logging10485760000字节(10 GB)复制,19.1996 s, 546 MB / s
检查你的FS是否与RAID尺寸一致。 我在RAID-6arrays上获得了320MB / s的速度,在XFS上配备了8个2TB SATA驱动器,我认为它受到3Gb / s SAS通道评估者和RAID-6性能的限制。 你可以从这个线程得到一些alignment的想法。
不幸的是,你正在比较苹果和橘子。
450Mb / s = 56MB / s,与您在现实生活中所看到的大致相当。 他们都给你相同的阅读(但一位是位,一位是字节)。 你需要用450除以8得到相同的措施。
(在你的问题中,你有另一种方式的大写,现在我只能希望/假设这是一个错字错误,因为如果你扭转大写,你会得到一个几乎完美的匹配)
检查是否可以在RAID控制器上启用写入caching
如果您的控制器上装有电池,则最好,否则在电源故障期间可能会丢失数据
hdparmtesting不是基本上执行缓冲读取testing吗? 您无法将缓冲读取速度与实际写入速度进行比较,并预期它们在RAID6设备上相等。
虽然我期望在具有高质量驱动器(1TB SAS或1TB SATA?)的RAID6上以50MB /秒的速度写入更好的性能,但是我不会期望450MB /秒的写入速度。
但是当我用hdparm进行testing时,速度是合理的
hdparm
不会testing写入性能,它是“只读”的。 此外,它testing实际上阻止 I / O读取性能,但是您调用dd
的方式使得它同时testing写入和文件系统性能 (并且RAID-5,6写入明显慢于devise读取)。 如果你的FS是EXT3,例如,你可以很容易地得到不良的performance,没有正确格式化( 不考虑你的RAID的完整的条带大小参数)。
此外,还有相当多的人倾向于使用较小的条带大小,从而导致磁盘I / O不理想。 创build此RAID时,您的条带大小select是什么?
另一个问题是,如何在不同的bs
参数下, dd
的数字有所不同? 你有没有尝试使用全条纹写入大小?