ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 存储磁盘的IOPS计算方式

存储磁盘的IOPS计算方式

Linux操作系统 作者:hangkk2008 时间:2016-02-04 17:19:31 0 删除 编辑
昨天苏州一客户那边出现了跟存储磁盘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。

转载:http://blog.chinaunix.net/uid-28391754-id-3777924.html

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/21210507/viewspace-1986460/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-03-25

  • 博文量
    10
  • 访问量
    11893