chenjintao_ii 发表于 2012-05-18 10:30

CIFS写速度大于读速度

10G数据流做测试,块大小为32k到1M,读速度在60MB/s附近浮动,写速度80~120MB/s之间。为什么写的速度会大于读的速度?

访问某网页(http://hardforum.com/showthread.php?t=1687750)时,也报相同的现象: I get write speeds of up to 110 MB/S on the cifs share (read up to 85MB/s )

同一个服务,读速度比写速度快,应该是IT界的常识,可是为什么还是有读比写慢的现象?
大家有碰到过吗?

beggeb 发表于 2012-05-18 16:17

加大数据量试试看 用100G试试

chenjintao_ii 发表于 2012-05-18 21:54

beggeb 发表于 2012-05-18 16:17 static/image/common/back.gif
加大数据量试试看 用100G试试

能否分析一下有哪些原因会导致“写速度>度速度”这种情况?

beggeb 发表于 2012-05-18 22:03

本帖最后由 beggeb 于 2012-05-18 22:03 编辑

你的读写缓存是多少?随机读的话一般都要到磁盘,而随机写可以直接到写缓存后返回。

liaozhi0623 发表于 2012-05-19 08:54

应该是存储设备的cache比较大,缓冲比较大,写操写到cache就返回了,读操作如果cache没有命中的话还得到下层读起来做raid算法,所以读比写慢

chengmao2010 发表于 2012-05-21 08:34

读为什么要比写快呢?
写在异步模式下直接写入cache就返回了,而读必须从最底层的硬件那里将数据读取出来,不考虑重读以及预读的话,读比写慢。
你试下同步写,写的速度就降下来了。

chenjintao_ii 发表于 2012-05-21 17:49

beggeb 发表于 2012-05-18 22:03 static/image/common/back.gif
你的读写缓存是多少?随机读的话一般都要到磁盘,而随机写可以直接到写缓存后返回。

请问下读写缓存怎么查看的?

chenjintao_ii 发表于 2012-05-21 17:53

liaozhi0623 发表于 2012-05-19 08:54 static/image/common/back.gif
应该是存储设备的cache比较大,缓冲比较大,写操写到cache就返回了,读操作如果cache没有命中的话还得到下层 ...

大致就是这样吧,网上看了蛮多情况,就是写比读快,而且测试报告都不说明原因,认为这是很正常的事儿。估计cache这玩意儿已经是常识,没必要解释了。但是如果碰到客户有疑问,还是要说明白的。多谢。

chenjintao_ii 发表于 2012-05-21 18:40

chengmao2010 发表于 2012-05-21 08:34 static/image/common/back.gif
读为什么要比写快呢?
写在异步模式下直接写入cache就返回了,而读必须从最底层的硬件那里将数据读取出来, ...

归根结底,还是cache的作用在里面啊。
据说有些存储设备会把cache关掉的。因为在写的过程中如果突然断电,在cache中的数据就全部丢失。所以关掉cache以提高安全性。
你的回复出现了好多新词汇啊,我百度去了解下。
非常感谢,BR

beggeb 发表于 2012-05-22 16:29

回复 7# chenjintao_ii


    你用的是哪家的阵列?还是自己搭的
页: [1] 2
查看完整版本: CIFS写速度大于读速度