免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 6106 | 回复: 11
打印 上一主题 下一主题

[RAID与磁盘阵列] 磁盘阵列写比读快50%,求解! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-05-20 21:18 |只看该作者 |倒序浏览
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增大压力测试。由于是在用设备,不方便做进一步测试。
有经验的大哥们,看看到底什么原因读比写慢这么多?正常的吗?如何使读速度超过写速度?

论坛徽章:
9
技术图书徽章
日期:2014-10-14 15:48:13数据库技术版块每日发帖之星
日期:2015-06-04 22:20:00数据库技术版块每日发帖之星
日期:2015-06-10 22:20:00数据库技术版块每日发帖之星
日期:2015-06-11 22:20:00数据库技术版块每日发帖之星
日期:2015-06-13 22:20:00IT运维版块每日发帖之星
日期:2015-09-22 06:20:00IT运维版块每日发帖之星
日期:2015-12-08 06:20:00综合交流区版块每日发帖之星
日期:2016-02-02 06:20:00IT运维版块每日发帖之星
日期:2016-07-25 06:20:00
2 [报告]
发表于 2012-05-20 23:05 |只看该作者
看在你分享测试数据的面子上,告诉你这到底是因为什么:
    因为写缓存。写入的时候,数据直接扔给盘阵里的NVRAM既告写入完毕,大量的写入堆积在写缓存中,可以有效利用硬盘的连续I/O能力,有回写无预读,所以写的速度就会比读快。

论坛徽章:
0
3 [报告]
发表于 2012-05-21 22:18 |只看该作者
增加队列深度,即并发数量,应该可以提高读性能

论坛徽章:
0
4 [报告]
发表于 2012-05-25 15:33 |只看该作者
bbjmmj 发表于 2012-05-20 23:05
看在你分享测试数据的面子上,告诉你这到底是因为什么:
    因为写缓存。写入的时候,数据直接扔给盘阵里 ...


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

论坛徽章:
0
5 [报告]
发表于 2012-05-25 15:36 |只看该作者
pingfan2 发表于 2012-05-21 22:18
增加队列深度,即并发数量,应该可以提高读性能


理论上可以,目前无法测试,但是其他磁盘阵列测试结果是写比读慢:
例如,一个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

论坛徽章:
9
技术图书徽章
日期:2014-10-14 15:48:13数据库技术版块每日发帖之星
日期:2015-06-04 22:20:00数据库技术版块每日发帖之星
日期:2015-06-10 22:20:00数据库技术版块每日发帖之星
日期:2015-06-11 22:20:00数据库技术版块每日发帖之星
日期:2015-06-13 22:20:00IT运维版块每日发帖之星
日期:2015-09-22 06:20:00IT运维版块每日发帖之星
日期:2015-12-08 06:20:00综合交流区版块每日发帖之星
日期:2016-02-02 06:20:00IT运维版块每日发帖之星
日期:2016-07-25 06:20:00
6 [报告]
发表于 2012-05-25 16:05 |只看该作者
我用DD测试写入,2。5寸SATA,5400转,写入速度156MB/S,24块7.2K盘写入速度应该远不止几百兆,这里面肯定有问题。

论坛徽章:
0
7 [报告]
发表于 2012-05-27 18:00 |只看该作者
回复 5# race


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

论坛徽章:
0
8 [报告]
发表于 2012-05-27 18:03 |只看该作者
回复 4# race


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

论坛徽章:
0
9 [报告]
发表于 2012-05-28 10:19 |只看该作者
pingfan2 发表于 2012-05-27 18:03
回复 4# race


仔细看看上面的测试结果

论坛徽章:
0
10 [报告]
发表于 2012-05-28 16:03 |只看该作者
写比读块很正常啊,infortrend的好多货都是写比读快。不管你做raid5还是raid6.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP