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

存储磁盘的IOPS计算方式

2015-06-04 15:40 211 查看
昨天一客户那边出现了跟存储磁盘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、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 IOPSRAID5:(2/3)*4500+4*(1/3)*4500 = 9000 IOPSRAID6:(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 = 7002*X = 700 X=350 能够提供给前端应用的IOPS为350。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: