存储磁盘的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计算公式:
不同磁盘类型的IOPS:
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。
具体的说:这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 |
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 |
看两个案例,其中第二个也是昨天在客户现场碰到的实际情况。 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。
相关文章推荐
- Tomcat端口被占用解决方法(不用重启)
- “传奇”图象数据存储方式
- 超大数据量存储常用数据库分表分库算法总结
- SQL Server误区30日谈 第18天 有关FileStream的存储,垃圾回收以及其它
- C++实现图的邻接表存储和广度优先遍历实例分析
- 详解Android文件存储
- C#调用sql2000存储过程方法小结
- PHP 存储文本换行实现方法
- 注册表中存储数据库链接字符串的方法
- Mysql中存储UUID去除横线的方法
- 深入PHP变量存储的详解
- MySQL存储毫秒数据的方法
- Android App中各种数据保存方式的使用实例总结
- 详解Android四种存储方式
- Android编程中的5种数据存储方式
- Android在不使用数据库的情况下存储数据的方法
- Android使用文件进行数据存储的方法
- MongoDB系列教程(八):GridFS存储详解
- JDBC编程实现文件、图片的存储方法
- 深入讲解iOS开发中应用数据的存储方式