[技术收藏]关于IOPS

首先记录几个关于IOPS相关的链接:

http://en.wikipedia.org/wiki/IOPS

http://www.storageonline.com.cn/storage/storage-fundamental/about-iops/

http://baike.baidu.com/view/2302083.htm

IOPS简介

本文源自:http://www.storageonline.com.cn/storage/storage-fundamental/about-iops/

此处仅作学习参考,若不允许使用,请联系,我将删除,谢谢!

SAN和NAS存储一般都具备2个评价指标:IOPS和带宽(throughput),两个指标互相独立又相互关联。体现存储系统性能的最主要指标是IOPS

IOPS (Input/Output Per Second)即每秒的输入输出量(或读写次数),是衡量磁盘性能的主要指标之一。IOPS是指单位时间内系统能处理的I/O请求数量,一般以每秒处理的I/O请求数量为单位,I/O请求通常为读或写数据操作请求。随机读写频繁的应用,如OLTP(Online Transaction Processing),IOPS是关键衡量指标。另一个重要指标是数据吞吐量(Throughput),指单位时间内可以成功传输的数据数量。对于大量顺序读写的应用,如VOD(Video On Demand),则更关注吞吐量指标。

IOPS可细分为如下几个指标:

  1. Toatal IOPS,混合读写和顺序随机I/O负载情况下的磁盘IOPS,这个与实际I/O情况最为相符,大多数应用关注此指标。
  2. Random Read IOPS,100%随机读负载情况下的IOPS。
  3. Random Write IOPS,100%随机写负载情况下的IOPS。
  4. Sequential Read IOPS,100%顺序负载读情况下的IOPS。
  5. Sequential Write IOPS,100%顺序写负载情况下的IOPS。

IOPS的测试benchmark工具主要有Iometer, IoZone, FIO等,可以综合用于测试磁盘在不同情形下的IOPS。对于应用系统,需要首先确定数据的负载特征,然后选择合理的IOPS指标进行测量和对比分析,据此选择合适的存储介质和软件系统.

可以查看http://en.wikipedia.org/wiki/IOPS得到磁盘IOPS参考数据。

IOPS 当然取决与I/O块的大小.采用不同I/O块的大小测出的IOPS值是不同的。 对一个具体的IOPS, 可以了解它当时测试的I/O块的尺寸。

IOPS计算公式

对于磁盘来说一个完整的IO操作是这样进行的:当控制器对磁盘发出一个IO操作命令的时候,磁盘的驱动臂(Actuator Arm)带读写磁头(Head)离开着陆区(Landing Zone,位于内圈没有数据的区域),移动到要操作的初始数据块所在的磁道(Track)的正上方,这个过程被称为寻址(Seeking),对应消耗的时间被称为寻址时间(Seek Time);但是找到对应磁道还不能马上读取数据,这时候磁头要等到磁盘盘片(Platter)旋转到初始数据块所在的扇区(Sector)落在读写磁头正上方的之后才能开始读取数据,在这个等待盘片旋转到可操作扇区的过程中消耗的时间称为旋转延时(Rotational Delay);接下来就随着盘片的旋转,磁头不断的读/写相应的数据块,直到完成这次IO所需要操作的全部数据,这个过程称为数据传送(Data Transfer),对应的时间称为传送时间(Transfer Time)。完成这三个步骤之后一次IO操作也就完成了。

在我们看硬盘厂商的宣传单的时候我们经常能看到3个参数,分别是平均寻址时间、盘片旋转速度以及最大传送速度,这三个参数就可以提供给我们计算上述三个步骤的时间。

第一个寻址时间,考虑到被读写的数据可能在磁盘的任意一个磁道,既有可能在磁盘的最内圈(寻址时间最短),也可能在磁盘的最外圈(寻址时间最长),所以在计算中我们只考虑平均寻址时间,也就是磁盘参数中标明的那个平均寻址时间,这里就采用当前最多的10krmp硬盘的5ms。

第二个旋转延时,和寻址一样,当磁头定位到磁道之后有可能正好在要读写扇区之上,这时候是不需要额外额延时就可以立刻读写到数据,但是最坏的情况确实要磁盘旋转整整一圈之后磁头才能读取到数据,所以这里我们也考虑的是平均旋转延时,对于10krpm的磁盘就是(60s/15k)*(1/2) = 2ms。

第三个传送时间,磁盘参数提供我们的最大的传输速度,当然要达到这种速度是很有难度的,但是这个速度却是磁盘纯读写磁盘的速度,因此只要给定了单次 IO的大小,我们就知道磁盘需要花费多少时间在数据传送上,这个时间就是IO Chunk Size / Max Transfer Rate。

现在我们就可以得出这样的计算单次IO时间的公式:

  IO Time = Seek Time + 60 sec/Rotational Speed/2 + IO Chunk Size/Transfer Rate

于是我们可以这样计算出IOPS

  IOPS = 1/IO Time = 1/(Seek Time + 60 sec/Rotational Speed/2 + IO Chunk Size/Transfer Rate)

对于给定不同的IO大小我们可以得出下面的一系列的数据

  4K (1/7.1 ms = 140 IOPS)
5ms + (60sec/15000RPM/2) + 4K/40MB = 5 + 2 + 0.1 = 7.1
8k (1/7.2 ms = 139 IOPS)
5ms + (60sec/15000RPM/2) + 8K/40MB = 5 + 2 + 0.2 = 7.2
16K (1/7.4 ms = 135 IOPS)
5ms + (60sec/15000RPM/2) + 16K/40MB = 5 + 2 + 0.4 = 7.4
32K (1/7.8 ms = 128 IOPS)
5ms + (60sec/15000RPM/2) + 32K/40MB = 5 + 2 + 0.8 = 7.8
64K (1/8.6 ms = 116 IOPS)
5ms + (60sec/15000RPM/2) + 64K/40MB = 5 + 2 + 1.6 = 8.6

从上面的数据可以看出,当单次IO越小的时候,单次IO所耗费的时间也越少,相应的IOPS也就越大。

上面我们的数据都是在一个比较理想的假设下得出来的,这里的理想的情况就是磁盘要花费平均大小的寻址时间和平均的旋转延时,这个假设其实是比较符合我们实际情况中的随机读写,在随机读写中,每次IO操作的寻址时间和旋转延时都不能忽略不计,有了这两个时间的存在也就限制了IOPS的大小。现在我们考虑一种相对极端的顺序读写操作,比如说在读取一个很大的存储连续分布在磁盘的的文件,因为文件的存储的分布是连续的,磁头在完成一个读IO操作之后,不需要从新的寻址,也不需要旋转延时,在这种情况下我们能到一个很大的IOPS值,如下

  4K (1/0.1 ms = 10000 IOPS)
0ms + 0ms + 4K/40MB = 0.1
8k (1/0.2 ms = 5000 IOPS)
0ms + 0ms + 8K/40MB = 0.2
16K (1/0.4 ms = 2500 IOPS)
0ms + 0ms + 16K/40MB = 0.4
32K (1/0.8 ms = 1250 IOPS)
0ms + 0ms + 32K/40MB = 0.8
64K (1/1.6 ms = 625 IOPS)
0ms + 0ms + 64K/40MB = 1.6

相比第一组数据来说差距是非常的大的,因此当我们要用IOPS来衡量一个IO系统的系能的时候我们一定要说清楚是在什么情况的IOPS,也就是要说明读写的方式以及单次IO的大小,当然在实际当中,特别是在OLTP的系统的,随机的小IO的读写是最有说服力的。

本文部分参考《磁盘IOPS计算与测量》与《IO系统性能之一:衡量性能的几个指标》。

转载请注明出处:http://www.cnblogs.com/haochuang/ 8年IT工作经验,5年测试技术与管理,2年产品与项目管理,曾参与过云计算\云存储\车联网产品研发工作; 业余自媒体人,有技术类垂直微信公众号;如有招聘或求职方面需求,请Mail to uetest@qq.com ;或通过 QQ:363573922 微博:@念槐聚 联系;

时间: 2024-09-24 10:38:07

[技术收藏]关于IOPS的相关文章

瓦楞机自动排单技术收藏

http://www.ca800.com/apply/html/2007-1-12/n9381.html     在目前国内外纸品包装行业利润越来越低,竞争越来越激烈的情况下,市场已由过去的"成本+利润=价格"转化为"利润=价格-成本",这就决定了如何提高生产效率.节约生产成本"成本最小化"成为众企业能否在包装行业提高企业竞争力.取得利润最大化的关键因素. 众所周知,原纸在生产成本中占70%,如何降低原纸的损耗成了降低生产成本所关注的注点:为了给

第三代Oracle Sun ZFS存储设备提供最佳性能和效率

甲骨文公司在旧金山举行的2011甲骨文全球大会上宣布,推出第三代Sun ZFS存储设备,该产品可提供企业级NAS功能,同时可提供同类最佳的性能.效率.数据完整性,以及与Oracle软件的集成. Oracle Sun ZFS 7420存储设备在NAS市场展现了绝对的性能领先优势,在SPC-1基准测试中与NetApp FAS 3270A相比,以不到其一半的每SPC-1 IOPS费用实现了较之高2倍的性能(1). Sun ZFS 7420存储设备的测试结果为137,066 SPC-1每秒输入/输出操作

高端应用服务器 IBM x3850 X5现售38000元

IBM System x3850 X5 基于最新一代 IBM 企业级 X 架构技术和http://www.aliyun.com/zixun/aggregation/6043.html">英特尔处理器构建,可在节能.经济的设计中提供卓越的性能和无与伦比的可靠性.其最大的优点是能提供超凡的可扩展性和灵活性,帮助您在正确的时间获得正确的功能.目前北京翔宇九州科技有限公司对 IBM System x3850 X5(7143I19) 服务器进行促销,仅售38000元,性价比非常高,值得企业购买,欲了

四U机架式设计 IBM X3850 X5现报36000元

IBM X3850 X5(7143I19)标配2颗Intel最新Westmere-EX核心六核E7-4807处理器的IBM System x3850 X5(7143I19)是面向大中型企业的最佳解决方案,属于强大扩展的灵活性产品,采用四U机架式设计, 在拥有高可用性.高可靠性和可管理性的同时,还拥有绿色节能.便于虚拟化应用和部署的诸多优点.现在,北京商家报价是36000元,有需要的用户不妨关注一下. 硬件配置方面,IBM System x3850 X5(7143I19)标配一颗E7-4807处理

E7-4807处理器 IBM x3850 X5仅售36000元

IBM x3850 X5(7143I19)标配2颗Intel最新Westmere-EX核心四核E7-4807处理器的IBM System x3850 X5(7143I19)是面向http://www.aliyun.com/zixun/aggregation/1698.html">大中型企业的最佳解决方案,属于强大扩展的灵活性产品,采用四U机架式设计, 在拥有高可用性.高可靠性和可管理性的同时,还拥有绿色节能.便于虚拟化应用和部署的诸多优点.当前, 北京翔宇九州科技有限公司该产品报价3600

企业评估数据中心IT参考架构的因素

[天极网服务器频道7月15日消息]在虚拟化.云计算.大数据分析和移动互联的驱动下,数据和信息快速成为企业核心业务资源.传统http://www.aliyun.com/zixun/aggregation/14162.html">IT架构不仅部署和调优耗时长,以应用为核心资源配置和管理效率低下,并且管理复杂,业务稳定性和安全性很难得到保证,更不用谈运维成本高.因此,越来越多的用户考虑对IT架构进行整合,以提高应用部署效率,并简化系统管理. 在数据中心演进过程中,用户会持续运行在物理.虚拟和云计

[收藏]数据库设计中的反规范技术探讨

规范|设计|数据|数据库|数据库设计   数据库设计中的反规范技术探讨   注:这是很久以前在一个论坛看到的文章,觉得写的不错:本着与众多业内人士交流.传播思想的目的展示在此,原论坛的名称已经不记得了,当时亦是转载.你可以任意转载此文,但由此引起的任何道德.法律纠纷与http:blog.csdn.net/aceplus无关,且http:blog.csdn.net/aceplus保证没有将此文用作任何商业和非法用途:如果您是本文的原作者,认为http:blog.csdn.net/aceplus转载

我收藏的技术知识图(每张都是大图)

原文地址:http://www.cnblogs.com/Mainz/archive/2012/09/08/2676618.html HTML5Linux/Unix系统设计思想读书笔记 LinuxMVCJava线程MVCSpring MVCCSS3Nginx架构VimCliCommandsPHP知识卡Linux安全知识表 JDK JVM机会HTML5介绍开源协议HTML5移动UED用户体验IT常识Linux系统调用列表 YII架构的典型流程Android系统架构一致性Hash算法CouchDBCs

[收藏学习]主流虚拟机技术性能测试与对比

主流虚拟机技术性能测试与对比 2007-4-9 9:34:00 文/李刚 鲁松 出处:国家计算机网络与信息安全检测实验室 参考:http://www.it.com.cn/f/server/074/9/403521.htm 概述  2006年度到2007年以至在今后的时间里虚拟机(VM)将有着很大的发展,在本篇文章中我们以未采用虚拟化技术产品的主机性能为基准,对VMware ESX.Virtual Server 2005 R2.Virtuozzo(Windows VIRTUOZZO 3.5.1和L