存储磁盘的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计算公式:
不同磁盘类型的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 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。
具体的说:这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 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。
相关文章推荐
- linux 下重启mysql数据库的方法
- Centos 安装Ftp客户端和开启vsftp服务
- Linux 强制位、冒险位
- Linux服务器上设置SSH登录后发送email提醒的方法
- linux下查看cpu物理个数和逻辑个数 - chw1989的专栏 - 博客频道 - CSDN.NET
- Android 系统中 Location Service 的实现与架构
- 【linux】打印字符串中指定行
- MyEclipse server里面的tomcat 不见了
- Docker基本使用(一)
- Install Cacti (Network Monitoring) on RHEL/CentOS 7.x/6.x/5.x and Fedora 21-12
- linux select函数 shutdown函数
- mysql Linux 安装 (CentOS)
- Linux管道的实现机制
- 【人脸识别】Optical Flow算法在人脸防伪中的应用
- IIS自定义404错误页避免暴露.NET网站路径信息
- syslog与syslog服务器的配置
- 在linux中使用内存映射(mmap)操作文件的方法
- linux 内核版本的升级(linux-3.2.0升级到linux-3.2.1)
- 【转】地方门户网站:地区细分领域的蓝海市场
- 每天一个linux命令(23):Linux 目录结构(转)