race 发表于 2012-05-20 21:18

磁盘阵列写比读快50%,求解!

Infortrend的S24F-G2840-4,24槽位插满2GB盘,无扩展连接,双通道,8GB FC,RAID6,缺省设置,LINUX 5.4,分别做成EXT4个XFS,dd测试结果差不多
写测试:
#dd bs=1M count=64k if=/dev/zero of=test conv=fdatasync
65536+0 records in
65536+0 records out
68719476736 bytes (69 GB) copied, 102.353 seconds, 671 MB/s
读测试:
#dd bs=1M count=64k if=test of=/dev/null
65536+0 records in
65536+0 records out
68719476736 bytes (69 GB) copied, 158.326 seconds, 434 MB/s
读比写慢很多,咨询厂家工程师建议使用device mapper多路径合并,并使用多个dd增大压力测试。由于是在用设备,不方便做进一步测试。
有经验的大哥们,看看到底什么原因读比写慢这么多?正常的吗?如何使读速度超过写速度?

bbjmmj 发表于 2012-05-20 23:05

看在你分享测试数据的面子上,告诉你这到底是因为什么:
    因为写缓存。写入的时候,数据直接扔给盘阵里的NVRAM既告写入完毕,大量的写入堆积在写缓存中,可以有效利用硬盘的连续I/O能力,有回写无预读,所以写的速度就会比读快。

pingfan2 发表于 2012-05-21 22:18

增加队列深度,即并发数量,应该可以提高读性能

race 发表于 2012-05-25 15:33

bbjmmj 发表于 2012-05-20 23:05 static/image/common/back.gif
看在你分享测试数据的面子上,告诉你这到底是因为什么:
    因为写缓存。写入的时候,数据直接扔给盘阵里 ...

conv=fdatasync这个代表写完才汇报结果,不是扔到缓存之后才汇报,如果没有这个选项,写速度会更快。

写到缓存立即报告时间:
# dd bs=1M count=64k if=/dev/zero of=test1
65536+0 records in
65536+0 records out
68719476736 bytes (69 GB) copied, 73.0106 seconds, 941 MB/s

文件写完汇报时间:
# dd bs=1M count=64k if=/dev/zero of=test conv=fdatasync
65536+0 records in
65536+0 records out
68719476736 bytes (69 GB) copied, 108.052 seconds, 636 MB/s

race 发表于 2012-05-25 15:36

pingfan2 发表于 2012-05-21 22:18 static/image/common/back.gif
增加队列深度,即并发数量,应该可以提高读性能

理论上可以,目前无法测试,但是其他磁盘阵列测试结果是写比读慢:
例如,一个DELL的MD1000的低端盘阵,双通道6GB,RHEL AS6.2下做成EXT4

写测试:
# dd bs=1M count=64k if=/dev/zero of=test conv=fdatasync
65536+0 records in
65536+0 records out
68719476736 bytes (69 GB) copied, 163.451 s, 420 MB/s

读测试:
# dd bs=1M count=20k if=test of=/dev/zero
20480+0 records in
20480+0 records out
21474836480 bytes (21 GB) copied, 38.7735 s, 554 MB/s

bbjmmj 发表于 2012-05-25 16:05

我用DD测试写入,2。5寸SATA,5400转,写入速度156MB/S,24块7.2K盘写入速度应该远不止几百兆,这里面肯定有问题。

pingfan2 发表于 2012-05-27 18:00

回复 5# race


    MD1000只是个JBOD,靠RAID卡做的阵列。PERC 6E RAID的缓存小

pingfan2 发表于 2012-05-27 18:03

回复 4# race


    conv=fdatasync 设置的只是系统缓存,而阵列端写到缓存还是磁盘里?这个主机无法知道

race 发表于 2012-05-28 10:19

pingfan2 发表于 2012-05-27 18:03 static/image/common/back.gif
回复 4# race




仔细看看上面的测试结果

storm the front 发表于 2012-05-28 16:03

写比读块很正常啊,infortrend的好多货都是写比读快。不管你做raid5还是raid6.
页: [1] 2
查看完整版本: 磁盘阵列写比读快50%,求解!