您的位置:首页 > 运维架构

存储磁盘的IOPS计算方式

2016-01-13 13:13 417 查看
昨天苏州一客户那边出现了跟存储磁盘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之前,需要对常见的RAID类型的读写比、不同硬盘类型的IOPS值、具体应用的IOPS需求等等有一些了解。
不同RAID类型的IOPS计算公式:

RAID类型

公式

RAID5、RAID3

Drive IOPS=Read IOPS + 4*Write IOPS

RAID6

Drive IOPS=Read IOPS+6*Write IOPS

RAID1、RAID10

Drive IOPS=Read IOPS+2*Write IOPS

不同磁盘类型的IOPS:

硬盘类型

IOPS

FC 15K RPM

180

FC 10K RPM

140

SAS 15K RPM

180

SAS 10K RPM

150

SATA 10K RPM

290

SATA 7.2K RPM

80

SATA 5.4K RPM

40

Flash drive

2500

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。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  存储