youki2008
作者youki20082020-04-30 21:35
系统架构师, DDT

如何计算RAID中的IOPS

字数 1574阅读 860评论 0赞 3

如何计算RAID中的IOPS?
昨天苏州一客户那边出现了跟存储磁盘IOPS相关的问题:应用系统在调用数据库时特别慢,页面打开同样慢。最终一路排查下来,问题还是在存储端。存储中划给oracleRAC使用的RAID5,使用的是包含EMC存储操作系统在内的5块硬盘。
具体的说:这5块盘,都是FC 10K RPM的450G硬盘(每个盘的IOPS为140),磁盘最大的IOPS为700。假设读写比为2:1,能够提供给前端应用的IOPS只能为:350(RAID5是1读4写)。这样的IOPS,的确不能满足实际应用的使用需求所导致的情况。这个问题其实也不是碰到一次两次,就借着这次一起整理下关于磁盘IOPS的计算方式: **

1、准备工作: **
通常当数据库管理员提出需要更多存储空间的时候,他们还会指定必须要达到多少IOPS。 首先需要知道I/O中读操作(Read)与写操作(Write)所占的百分比。然后通过下列公式,将主机的IOPS需求转换成硬盘实际IOPS负载:

在计算具体的磁盘IOPS之前,需要对常见的RAID类型的读写比、不同硬盘类型的IOPS值、具体应用的IOPS需求等等有一些了解。
不同RAID类型的IOPS计算公式:

RAID类型公式
RAID5、RAID3Drive IOPS=Read IOPS + 4*Write IOPS
RAID6Drive IOPS=Read IOPS+6*Write IOPS
RAID1、RAID10Drive IOPS=Read IOPS+2*Write IOPS

不同磁盘类型的IOPS:

硬盘类型IOPS
FC 15K RPM180
FC 10K RPM140
SAS 15K RPM180
SAS 10K RPM150
SATA 10K RPM290
SATA 7.2K RPM80
SATA 5.4K RPM40
Flash drive2500

2、案例
看两个案例,其中第二个也是昨天在客户现场碰到的实际情况。 IOPS的计算需要结合上述表格中的相应参数值。

1) 20TB 存储空间同时满足 4500 IOPS 、 RAID5 ,从实际使用来说,如何计算不同 RAID 所支持的 IOPS ? RAID5 或者 RAID10 的时候分别需要多少块硬盘?

首先需要知道 I/O 中读操作与写操作所占的百分比。然后通过第 2 章节中的公式,将主机 IOPS 需求转换成硬盘实际 IOPS 负载:

假定 4500 IOPS 中读 / 写比是 2 : 1 ,则不同的 RAID 类型 Drive IOPS 分别如下:

RAID10 :( 2/3 ) 4500+2 ( 1/3 ) *4500 = 6000 IOPS

RAID5 :( 2/3 ) 4500+4 ( 1/3 ) *4500 = 9000 IOPS

RAID6 :( 2/3 ) 4500+6 ( 1/3 ) *4500 = 12000 IOPS

再参照第 2 章节中不同硬盘类型的 IOPS 值,换算出需要多少块盘:

RAID10 : 6000/180 = 34 块

RAID5 : 9000/180 = 50 块

RAID6 : 12000/180 = 67 块

2) 客户环境中,存在一个 RAID group ,是由 5 块 450G 10K RPM 的 FC 盘组成,换算出该 RAID 支持的最大 IOPS 以及能够给前端应用提供的 IOPS

首先 10K RPM 的 FC 盘,单块盘的 IOPS 为 140 , 5 块盘最大 IOPS 值为 700 。

假设读写比为 2 : 1 ,能够提供给前端应用的 IOPS 为:

( 2/3 ) X+4 ( 1/3 ) *X = 700

2*X = 700 X=350 能够提供给前端应用的 IOPS 为 350 。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

3

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广