天天看点

服务器磁盘IOPS

iops(input/output operations per second)是一个用于计算机存储设备(如硬盘(hdd)、固态硬盘(ssd)或存储区域网络(san))性能测试的量测方式,可以视为是每秒的读写次数。和其他性能测试一样,存储设备制造商提出的iops不保证就是实际应用下的性能。

iops可以用应用程序来量测,例如一开始由微软开发的iometer,像iozone及fio也有类似功能,iops主要会用在服务器,以找到最佳的存储配置。

iops的数值会随系统配置而有很大的不同,依测试者在测试时的控制变因而异,控制变因包括读取及写入的比例、其中循序访问及随机存取的比例及配置方式、线程数量及访问队列深度,以及数据区块的大小。其他因素也会影响iops的结果,例如系统设置、存储设备的驱动程序、操作系统后台运行的作业等。若在测试固态硬盘时,是否先进行预调(preconditioning)机制也会影响iops的结果。

机械硬盘的连续读写性很好, 但随机读写性能很差。这是因为磁头移动至正确的磁道上需要时间,随机读写时,磁头不停的移动,时间都花在了磁头寻道上,所以性能不高。

在存储小文件(图片)、oltp数据库应用时,随机读写性能(iops)是最重要指标。

iops (input/output per second)即每秒的输入输出量(或读写次数),是衡量磁盘性能的主要指标之一。iops是指单位时间内系统能处理的i/o请求数量,一般以每秒处理的i/o请求数量为单位,i/o请求通常为读或写数据操作请求。

随机读写频繁的应用,如小文件存储(图片)、oltp数据库、邮件服务器,关注随机读写性能,iops是关键衡量指标。

顺序读写频繁的应用,传输大量连续数据,如电视台的视频编辑,视频点播vod(video on demand),关注连续读写性能。数据吞吐量是关键衡量指标。

iops和数据吞吐量适用于不同的场合:

性能特性

最常量测的性能特性是随机存取及循序访问时的iops。循序访问是访问存储设备中相邻位置的数据,一般和较大的数据区块访问有关,例如128kb,随机存取是访问存储设备中非相邻位置的数据.一般访问的数据区块比较少,例如4kb。

最常见的性能特性如下:

服务器磁盘IOPS

对于硬盘或是其他类似的机电存储设备,其随机存取iops主要和存储设备的寻址时间有关,若是固态硬盘及其他固态电子设备,其随机存取iops主要和存储设备的内部控制器及记亿体接口速度有关。这两种设备的循序访问iops(尤其是访问大数据区块)一般会包括存储设备可以持续的最大带宽。

有些硬件会因为其队列深度增加而提升其性能,这多半是因为硬盘处理队列及重新排序(reordering)的先进控制器逻辑的结果,此逻辑一般称为标记命令队列(tcq)或原生指令排序(ncq)。企业档次的sata硬盘,例如western digital raptor及希捷的barracuda nl配合深队列可以提升性能到100%。较常用在服务器的高端scsi硬盘,一般性能有更大的提升。

传统的硬盘读取和写入的iops大约相同,而大部分闪存ssd的写入速度明显比读取慢很多,原因是无法写入一个之前写过的区域,会强制启动垃圾数据回收功能。因此硬件测试开始在测试iops性能时,分开测试写入和读取。

像intel x25-e等较新的闪存ssd固态硬盘其iops会比传统的硬盘要高,在xssist进行的一个测试中,用iometer软件,4kb随机存取,读取/写入比例为70/30,队列深度4,intel x25-e 64gb g1的iops一开始有 10000 iops,在八分钟后快速掉到4000 iops,之后的42分钟持续的下降,自第50分钟起到第八小时之间,iops在3000至4000之间变化。即使第50分钟iops快速下降,x25-e的iops仍较传统硬盘要高。像oczrevodrive 3 x2 pcie用sandforce控制器,其持续写入性能和读取速度大致相近。

一些iops的示例

随机存取处理下,一些常见的iops平均值,计算方式是:1/(寻址时间 + 回应时间) = iops

服务器磁盘IOPS

传统磁盘本质上一种机械装置,如fc, sas, sata磁盘,转速通常为5400/7200/10k/15k rpm不等。影响磁盘的关键因素是磁盘服务时间,即磁盘完成一个i/o请求所花费的时间,它由寻道时间、旋转延迟和数据传输时间三部分构成。

寻道时间 tseek是指将读写磁头移动至正确的磁道上所需要的时间。寻道时间越短,i/o操作越快,目前磁盘的平均寻道时间一般在3-15ms。

旋转延迟 trotation是指盘片旋转将请求数据所在扇区移至读写磁头下方所需要的时间。旋转延迟取决于磁盘转速,通常使用磁盘旋转一周所需时间的1/2表示。比如,7200 rpm的磁盘平均旋转延迟大约为60*1000/7200/2 = 4.17ms,而转速为15000 rpm的磁盘其平均旋转延迟为2ms。

数据传输时间 ttransfer是指完成传输所请求的数据所需要的时间,它取决于数据传输率,其值等于数据大小除以数据传输率。目前ide/ata能达到133mb/s,sata ii可达到300mb/s的接口数据传输率,数据传输时间通常远小于前两部分消耗时间。简单计算时可忽略。

常见磁盘平均物理寻道时间为:

常见硬盘的旋转延迟时间为:

最大iops的理论计算方法

服务器磁盘IOPS

作者:varden

本文内容如有雷同,请联系作者!

本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。