raid读写速度对比_深入分析各种raid级别相对单盘速度变化

入分析各种raid级别相对单盘速度变化

RAID0用分片存储方式把数据分布在两个盘或更多盘上,读写持续传输速率会增加一倍,随机读写速度按理论是有可能增加的,这取决于数据分片大小和读写的大小,不过总的来说很值得怀疑;硬件RAID1的随机和持续写速率和单个硬盘是完全一样的,但读的话由于可以从两个硬盘随意选一个读,随机读性能会有明显的增加,可能至2倍,至于持续读取速率理论上有可能增加,不过我很怀疑有这方面的优化,估计还是一样的;RAID5由于写要N+1个盘一起写,所以随机读写速率和单个硬盘是一样的(或者更差),而持续读写速率按理论是单个硬盘的N倍,不过我也遇到过还不如RAID1的情况,这怎么说呢?没法说了。

raid1和raid0的持续传输率,我认为和控制器的算法和读取数据大小有关。如果随机读取(非连续读取,寻道开销很大),而且数据又很小,那么不管单盘还是多盘raid,速率几乎一样,因为都浪费到寻道上了。根据公式可以算出来,1/(寻道时间+传输时间)=iops。如果寻道时间比传输时间大几个数量级,那么传输时间翻倍变化,也对iops没多少影响。然后提一下并发IO的概念:并发IO,指多个IO可以同时被处理,比如IO1可以访问a盘,IO2可以同时访问b盘。并发IO的反义词是顺序IO。

基于以上结论有:

1、raid0持续读写和单盘比较:寻道时间不便,raid0传输时间=单盘2倍,总体iops差别不大。但是有二条:并发IO和raid0的分割块大小。又可以分两个因素,

第一:不并发IO(或者并发IO)+分割块很小。这种情况下,寻道时间不变,传输速度相对单盘减半,iops差不多。

第二:不并发IO+分割块很大。这样的话,一次IO寻道时间相对单盘不变,传输速度可能不变(如果一次IO恰好只读取一个分割块),或者传输速度减半(一次IO可能定向到两块盘)。不管怎么样,对iops影响不大。

第三:并发IO+分割块很大。这样,寻道时间减半,传输时间可能减半也可能不变。总之iops会增大很多。

结论:raid0持续读写仅在并发IO+分割块很大的时候,iops会增加很多。

2、raid0随机读写和单盘比较:寻道时间相等,raid0传输时间减半,差别不大。但是有二条:并发IO和raid0的分割块大小。这又可以分出两个条件因素

第一:不并发IO&分割块很小,以至于每次IO必须定向到两块盘,这种情况raid0和单盘差别不大。

第二:不并发IO&分割块比较大,一次IO可能只用一块盘,那么这种情况和单盘直接就是一样的。

第三:并发IO&分割块很小,那么并发IO就不起作用,因为每次IO都会占用两块盘,那么就并发不了,这样iops还是差不多。

第四:并发IO&分割块很大。这种情况,并发IO奏效,进程下发的多个IO,控制器并行执行,这样,寻道时间和传输时间都相对单盘要减半。所以理论上,是单盘的两倍。

结论:raid0随机读写仅在并发IO+分割块很大的时候,iops显著增加。

3、raid1持续读写和单盘比较

因为raid1没有什么分割概念了。所以因素只有一条:是否并发IO

第一:不并发IO。此时寻道时间不变,传输时间不变,iops不变

第二:并发IO。此时寻道时间减半,传输时间减半,iops翻倍。结论:raid1持续读写,仅在并发IO的情况下,iops显著增加。

4。raid1随机读写和单盘比较

第一:不并发IO。此时寻道时间不变,传输时间不变,iops不变

第二:并发IO。此时寻道时间减半,传输时间减半,iops翻倍。

结论:raid1随机读写,仅在并发IO的情况下,iops显著增加。

5、raid5持续读写和单盘比较

raid5可以说有raid0的影子。有三个因素:是否并发IO,读or写,条带深度。striple depth的概念,请大家自行搜索snia标准化文档,做学问要穷根问底,不要人云亦云。没看过基本定义就下定结论,都是不好的做法。

先说读。

第一:读,非并发IO,IO size小于等于条带深度。此时,一次IO只占用一块磁盘,而其他IO正在排队,所以寻道时间等于单盘时间,传输时间等于单盘

第二:读,非并发IO,IO size远大于条带深度。此时一个IO占用多块磁盘(视io size决定,越大占用越多,但是大过了头,反而有所抵消)。寻道时间是单盘的1/n,n=IO size/striple size。iops显著增加。

第三:读,并发IO,IO size小于等于条带深度。此时多IO并发,相对寻道时间是单盘的1/n。iops显著增加

第四:读,并发IO,IO size远大于条带深度。此时并发IO效果被抵消。只是减少了传输时间,iops差不多。

第五:写,非并发IO,IO size小于等于条带深度写,非并发IO,IO size远大于条带深度 这两种情况下,iops都没有什么增加而且有减小。只是传输速度减半而已(对于前者传输速度不变)。不管怎么说,写速度肯定是比单盘要慢了,因为raid5的写惩罚,这个就不必多说了。

第六:写,并发IO,IO size小于等于(或者大于)条带深度。因为并发IO,所以总体速度比单盘快,但是写惩罚又抵消了性能,总体不好说,要测试

结论:

读,非并发IO,IO size远大于条带深度

读,并发IO,IO size小于等于条带深度

raid5仅在以上两种情况,iops显著增加。

raid1和raid0的持续读写iops,应该相比单盘会有显著增加,因为寻道时间虽然对单盘没有变化,但是寻道时间相比随机IO的时候,小了很多,此时传输时间的变化就上升为主要矛盾了。raid5持续读,在io size远大于striple size的时候,也是显著增加。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值