相同硬盘数量时,RAID5与RAID10哪个性能好_ken raid5读写性能

前一段时间,与同事聊存储性能问题,发觉同事很多人被CML存储洗过脑,认为活动盘数决定一切。所以这种看法就决定了在相同硬盘数量下,认为RAID5有更多的活动硬盘导致其性能比RA
ID10好。

其实认真一考虑,存储性能从来都不是一刀切的事。若讨论性能,必定从IO特征入手,然后结合应用的特性来看的。

 

读写性能方面的比较

主要分析如下三个情况:读,顺序写,随机写

1. 读操作方面的性能差异
盘阵列读操作的关键更多的体现在cache的命中率上。所以,RAID5和RAID10在读数据上面,他们基本是没有差别的,除非是读的数据能影响cache命中率,导致命中率不一样。

若不考虑cache方面,100%随机读时,那么对于RAID10和RAID5来说,所有的硬盘都将参与IO运算,所以两者也没有太多的差异

2. 顺序写方面的性能差异
连续写的过程,一般表示写入连续的大批量的数据,如媒体数据流,很大的文件等等。连续写操作大多数产生于医疗PACS系统、高教图书馆系统、视频编辑系统等等应用环境下。

在连续写操作过程,如果有写cache存在,并且算法没有问题的话,RAID5比RAID10甚至会更好一些,虽然也许并没有太大的差别。(这里要假定存储有一定大小足够的写cache,而且计算校验的cpu不会出现瓶颈)。

因为这个时候的RAID校验是在cache中完成,如4块盘的RAID5,可以先在内存中计算好校验,同时写入3个数据+1个校验。而RAID10只能同时写入2个数据+2个镜像。

 

如上图所示,4块盘的RAID5可以在同时间写入1、2、3到cache,并且在cache计算好校验之后,这里假定是6(实际的校验计算并不是这样的,这里仅仅是假设),同时把三个数据写到磁盘。而4块盘的RAID10不管cache是否存在,写的时候,都是同时写2个数据与2个镜像。

写cache是可以缓存写操作的,等到缓存写数据积累到一定时期再写到磁盘。但是,写到磁盘阵列的过程是迟早也要发生的,所以RAID5与RAID10在连续写的情况下,从缓存到磁盘的写操作速度会有较小的区别。不过,如果不是连续性的强连续写,只要不达到磁盘的写极限,差别并不是太大。

这时,若在一个RAID组中磁盘数较多,比如14块数据盘,那么RAID5可以实现同时写13个IO,而RAID10则只能同时写7个IO.RAID5性能会较好.

 

随机写方面的性能差异

企业中的绝大部分数据库应用,如ERP系统等等在数据写入的时候其实都是离散写。

例如oracle数据库每次写一个数据块的数据,如8K;由于每次写入的量不是很大,而且写入的次数非常频繁,因此联机日志看起来会像是连续写,但是因为不保证能够添满RAID5的一个条带(保证每张盘都能写入),所以很多时候更加偏向于随机写入

从上图看一下随机写的时候,RAID5与RAID10工作方式有什么不同。如上图:假定要把一个数字2变成数字4,那么对于RAID5,实际发生了4次io:
先读出2与校验6,可能发生读命中
然后在cache中计算新的校验
写入新的数字4与新的校验8

也就是说

RAID 5的写操作=
1次读入所有数据(所有数据块的盘同时)
1次读入校验
异或
1写入数据(所有数据块的盘同时)
重新计算校验
相同硬盘数量时,RAID5与RAID10哪个性能好_ken raid5读写性能
1写入校验

 

如上图可以看到:对于RAID10,同样的单个操作,最终RAID10只需要2个io,而RAID5需要4个io。

这里忽略了RAID5在那两个读操作的时候,可能会发生读命中操作的情况。也就是说,如果需要读取的数据已经在cache中,可能是不需要4个io的。这也证明了cache对RAID5的重要性,不仅仅是计算校验需要,而且对性能的提升尤为重要。当然,并不是说cache对RAID10就不重要了,因为写缓冲,读命中等,都是提高速度的关键所在,不过的是,RAID10对cache的依赖性没有RAID5那么明显而已。

所以,对于IO块小的数据写来说,RAID10一般都表现得优于RAID5.

 

100%随机写,这时,若在一个RAID组中磁盘数较多,比如14块数据盘,那么RAID5可以实现同时写的IO数是(14个数据盘的总IO/4),而RAID10则只能同时写的IO数是(14个数据盘的总IO/2).

 

实际案例:

 

那我们假定一个case,业务应用的IOPS是10000,读cache命中率是30%,读IOPS为60%,写IOPS为40%,磁盘个数为120,那么分别计算在RAID5与RAID10的情况下,每个磁盘的IOPS为多少。

RAID5:


1. 单块盘的IOPS = (10000*(1-0.3)*0.6 + 4 * (10000*0.4))/120
2. = (4200 + 16000)/120
3. = 168

这里的10000*(1-0.3)*0.6表示是读的IOPS,比例是0.6,除掉cache命中,实际只有4200个读IOPS。

而4 * (10000*0.4)表示写的IOPS,因为每一个写,在RAID5中,实际发生了4个io,所以写的IOPS为16000个。

为了考虑RAID5在写操作的时候,那2个读操作也可能发生命中,所以更精确的计算应该为:
1. 单块盘的IOPS = (10000*(1-0.3)*0.6 + 2 * (10000*0.4)*(1-0.3) + 2 *(10000*0.4))/120
2. = (4200 + 5600 + 8000)/120
3. = 148

这样我们计算出来单个盘的IOPS为148个,基本达到磁盘IOPS极限,在这种情况下,磁盘的工作状态是非常不理想的。

RAID10:

 

1. 单块盘的IOPS = (10000*(1-0.3)*0.6 + 2 * (10000*0.4))/120
2. = (4200 + 8000)/120
3. = 102

 

可以看到,因为RAID10对于一个写操作,只发生2次io,所以,同样的压力,同样的磁盘,每个盘的IOPS只有102个,还远远低于磁盘的极限IOPS。

  

爱华网本文地址 » http://www.413yy.cn/a/25101011/49877.html

更多阅读

怎么选购电陶炉,电陶炉哪个牌子好 电陶炉哪个牌子最好

怎么选购电陶炉,电陶炉哪个牌子好——简介文章分别从电陶炉的风扇的声音、炉子的发热速度及使用过程中发热区以外的地方是否发热电陶三大方面教你如何选购电陶炉。怎么选购电陶炉,电陶炉哪个牌子好——方法/步骤怎么选购电陶炉,电陶炉

洗碗机十大品牌,洗碗机哪个牌子好 进口十大牌子鱼线品牌

洗碗机十大品牌,洗碗机哪个牌子好——简介现代人的生活比较写意悠闲,很多人多厌烦洗碗的劳累工作,出于迎合大众的要求,洗碗机便从此诞生了。洗碗机使用简单,快捷,只需用手一摁便很快做好了碗筷的清洗工作,的确深受大家喜爱。那么洗碗机十大

固态硬盘是什么,固态硬盘寿命有多长 固态硬盘寿命检测

固态硬盘是什么,固态硬盘寿命有多长——简介SSD泛指使用闪存芯片组成的SSD固态硬盘,是使用FLASH闪存颗粒作为存储单元,不再使用传统的机械存储方法,使用模拟的方式虚拟出传统 硬盘存取方式和扇区等,也可以简单的理解固态硬盘就是一个采用

紫砂电炖锅选购方法,电炖锅哪个牌子好 紫砂锅电炖锅

紫砂电炖锅选购方法,电炖锅哪个牌子好——简介天然紫砂中含有对人体有益的微量元素,长期使用有利于延年益寿,紫砂含铁量丰富,还含多种人体所需微量元素。铁,能分解食物中的脂肪,降低胆固醇。紫砂陶器在受热过程中,能够发射出丰富的远红外线

胡耀邦当年视察沙河时,提出了要‘有水快流’ 视察二院

胡耀邦当年视察沙河时,提出了要‘有水快流’莲峰俗 子河北省沙河市是个煤炭、铁矿资源大市,但是在1981年8月19日以前,国家规定煤炭、铁矿资源是不允许个人开采的。当时国家对矿业开采证控制的较严,煤炭和铁矿的开采证,顶多发到乡村一级

声明:《相同硬盘数量时,RAID5与RAID10哪个性能好_ken raid5读写性能》为网友单身汉分享!如侵犯到您的合法权益请联系我们删除