开始新对话

此帖子已超过 5 年

Solved!

Go to Solution

7170

2015年3月17日 19:00

raid0 、1、5、10读写问题

大神们好。

在论坛逛了很久,还是有点迷糊,请问下:

理论上,8块磁盘做raid0、1、5、10的读和写是单块磁盘的读和写的多少倍?

4K 消息

2015年3月17日 20:00

不同RAID的性能差距主要是写惩罚(Write Penalty)造成的,如果要衡量整个RAID的读写性能的话,还要考虑读、写操作所占IO的比例。具体理论依据可以参考文章:浅谈RAID写惩罚(Write Penalty)与IOPS计算,即

物理磁盘总的IOPS = 物理磁盘的IOPS × 磁盘数目

可用的IOPS = (物理磁盘总的IOPS × 写百分比 ÷ RAID写惩罚) + (物理磁盘总的IOPS × 读百分比)

如果嫌麻烦,互联网上有很多免费的IOPS计算工具可以使用,比如这种。

http://wintelguy.com/raidperf.pl

raid_perf_cal.jpg

自己搜搜可以找到很多。

2.1K 消息

2015年3月17日 20:00

这个要看情况的,你是要和8块盘分别都给应用用,还是只是1个盘和8个盘组成的raid相比,

前一种情况,只是读的话,速度应该是没有太大区别的(抛开缓存不谈)。后一种情况,那么就是几个有效数据盘就是几倍。比如raid1是2倍,raid5是7倍,但是理论上是达不到这个值的,要看数据物理上是如何分布的,而且要读取的数据最后是落到哪个盘上。

写的话,raid是有相应的写惩罚的,单个盘的写入和raid0惩罚是一样的,然后不同的raid级别的写惩罚也不一样。其实考虑raid适用于什么场景的关键因素就是写入的性能,还有数据需要何种的保护级别。

RAID

Write Penalty

0

1

1

2

5

4

6

6

10

2

1.8K 消息

2015年3月17日 20:00

简单理解,有多少块可用,就是单块的多少倍。

128 消息

2015年6月16日 17:00

RAID10  8块盘,就是4倍?

128 消息

2015年6月16日 17:00

这样说吧,写性能我大概知道了,比如如果是100%都是写,那么每个raid级别不同,是需要根据写惩罚来计算的。

那么,读性能的话,可不可以这样理解,如果是8块硬盘,raid0就是单块硬盘的8倍,raid1则是4倍,raid5就是7倍,raid6就是6倍。?????

128 消息

2015年6月16日 17:00

这样说吧,写性能我大概知道了,比如如果是100%都是写,那么每个raid级别不同,是需要根据写惩罚来计算的。

那么,读性能的话,可不可以这样理解,如果是8块硬盘,raid0就是单块硬盘的8倍,raid1则是4倍,raid5就是7倍,raid6就是6倍。?????

128 消息

2015年6月16日 17:00

这样说吧,写性能我大概知道了,比如如果是100%都是写,那么每个raid级别不同,是需要根据写惩罚来计算的。

那么,读性能的话,可不可以这样理解,如果是8块硬盘,raid0就是单块硬盘的8倍,raid1则是4倍,raid5就是7倍,raid6就是6倍。?????

4K 消息

2015年6月16日 19:00

理论上是的。另外8块盘的RAID 10,读性能也是8倍(如果block正巧分布在所有的磁盘上)。

2.1K 消息

2015年6月16日 23:00

在极端的情况下,所有的读IO都是均匀的分散在每个磁盘上,就和你假设是一样的。但是实际情况不可能,读IO性能会有提升,不过会小于这个假设值。

找不到事件!

Top