我用IOMETER来测试512B到512KB的数据块在1~256个并发IO下的表现,条带大小分别设定为8K、32K、128K、512K和1MB,结果很奇怪的就是1MB的最好,无论是512B的小数据还是512KB的大块,无论是1IO还是256并发的IO。
盘是4 ...
拳头 发表于 2009-4-23 13:11
这个问题我也曾经怀疑过,但实际上条带上每个硬盘的那个区间不是只存放一个小文件后剩余的部分就浪费了,而是继续放其他的文件,我用1000个1024B的小文件存到1MB的RAID盘上,结果是1M的文件占用4M的空间(NTFS的簇 ...
拳头 发表于 2009-4-23 13:04
现在的卡和盘都有大缓存,还有ncq和tcq,大条带导致的小文件性能的下降已经比过去减少很多,只有在读写间隔条带的大量小文件以使缓存溢出时,才有性能的下降,这概率实在太低了
bcyj 发表于 2009-4-22 22:34
缓存跟条带有什么关系??
条带是强制分割的
我打很简单一个比方
比如你有一个4硬盘的RAID0 划分1M的条带
现在有10个用户同时写入10个100K的文件 结果就是这10个文件全写进了1个硬盘 其他 ...
scowl 发表于 2009-4-23 16:28
5i 6i的是STRIPE SIZE,这个直接读一下单盘数据就很容易得知.
原来你的是sata的盘,那1m的条带性能最好就不出奇了,你测一下单盘的,看看是不是1m的数据块的持续存取性能最高吧.
bcyj 发表于 2009-4-23 14:26
我打很简单一个比方
比如你有一个4硬盘的RAID0 划分1M的条带
现在有10个用户同时写入10个100K的文件 结果就是这10个文件全写进了1个硬盘 其他三个硬盘完全是闲着的
因为要先把一个条带写满了 才会写下一个条带
所以 有大量小文件随机读写的场合 条带绝对不能大 不然性能下降非常厉害
...
scowl 发表于 2009-4-23 16:28
有必要的,不需要在raid上测.硬盘的读写不同大小的块的性能是不一样的,就像是读写4k的块时性能特别低一样.在raid0上,单盘的连续读写,其实就是每个硬盘按带条大小的分块读写
bcyj 发表于 2009-4-23 19:50
现在的卡和盘都有大缓存,还有ncq和tcq,大条带导致的小文件性能的下降已经比过去减少很多,只有在读写间隔条带的大量小文件以使缓存溢出时,才有性能的下降,这概率实在太低了
bcyj 发表于 2009-4-22 22:34
嗯,是会有影响,等于大数据被阵列卡人为划分成小的IO了,不过从这个观点看,也应该是将条带设定的越大越好啊,大条带深度时,大数据被分割成较少的数据块,每个硬盘的读写速度比较高,小数据即使不能同时写到每个 ...
拳头 发表于 2009-4-23 20:05
NCQ等优化是从操作系统的角度来进行优化的,不过有些奇怪,我将SATA硬盘接南桥上,开NCQ后1~256个用户的随机小数据IOPS是线性增加的,1用户只有80,远比SAS盘低,但256个IO同时并发时测试结果就有150IOPS了。
将S ...
拳头 发表于 2009-4-23 20:11
这个问题也遇到过。我一直用的hp(compaq)系列卡,从431到5302到6402,在ACU里有说明,比较小的64k以下stripe size对小文件读写有利,256k以上比较大的stripe size对大文件读写有利,默认的128k属于平衡型方案。但我自 ...
fishman 发表于 2009-4-27 09:49
请问一下bcyj,条带长度=划过所有硬盘的条带的总字节数,条带深度=一个条带在某个硬盘上的区域的字节数,那STRIPE SIZE是指条带深度还是长度?其他论坛有人说是长度,但如果8KB的条带长度只有3个硬盘,每个盘的条带深 ...
拳头 发表于 2009-4-23 20:25
Stripe Width 是由陣列(Array) 的硬件組成部份來決定,陣列的其中一個特點就是可把數據代整為零,把一個大數據細分成多份小數據同時存入硬盤中以提升整體讀寫效能,Stripe Width 的數值就相當於數據初分開的份數, ...
idolclub 发表于 2009-5-4 23:23

| 欢迎光临 POPPUR爱换 (https://we.poppur.com/) | Powered by Discuz! X3.4 |