IOPS(Input/Output Operations Per Second)是一个用于电脑存储设备(如硬盘(HDD)、固态硬盘(SSD)或存储区域网络(SAN))性能测试(英语:Benchmark_(computing))的量测方式,可以视为是每秒的读写次数。和其他性能测试一様,存储设备制造商提出的IOPS不保证就是实际应用下的性能。
IOPS可以用应用程序来量测,例如一开始由微软开发的Iometer(英语:Iometer),像IOzone(英语:IOzone)及FIO(英语:FIO (software))也有类似功能,IOPS主要会用在服务器,以找到最佳的存储配置。
IOPS的数值会随系统配置而有很大的不同,依测试者在测试时的控制变因而异,控制变因包括读取及写入的比例、其中循序访问及随机存取的比例及配置方式、线程数量及访问队列深度,以及资料区块的大小。其他因素也会影响IOPS的结果,例如系统设置、存储设备的驱动程序、操作系统后台运行的作业等。若在测试固态硬盘时,是否先进行预调(preconditioning)机制也会影响IOPS的结果。
最常量测的性能特性是随机存取及循序访问时的IOPS。循序访问是访问存储设备中相邻位置的资料,一般和较大的资料区块访问有关,例如128 KB,随机存取是访问存储设备中非相邻位置的资料.一般访问的资料区块比较少,例如4 KB。
最常见的性能特性如下:
对于硬盘或是其他类似的机电存储设备,其随机存取IOPS主要和存储设备的寻址时间有关,若是固态硬盘及其他固态电子设备,其随机存取IOPS主要和存储设备的内部控制器及记亿体接口速度有关。这两种设备的循序访问IOPS(尤其是访问大资料区块)一般会包括存储设备可以持续的最大带宽。一般循序访问的IOPS会用MB/s表示,其公式如下:
(结果一般会转换为MB/s)
有些硬件会因为其队列深度增加而提升其性能,这多半是因为硬盘处理队列及重新排序(reordering)的先进控制器逻辑的结果,此逻辑一般称为标记命令队列(TCQ)或原生指令排序(NCQ)。企业等级的SATA硬盘,例如Western Digital Raptor(英语:Western Digital Raptor)及希捷的Barracuda NL配合深队列可以提升性能到100%。较常用在服务器的高端SCSI硬盘,一般性能有更大的提升。
传统的硬盘读取和写入的IOPS大约相同,而大部分闪存SSD的写入速度明显比读取慢很多,原因是无法写入一个之前写过的区域,会强制启动垃圾资料回收功能。因此硬件测试开始在测试IOPS性能时,分开测试写入和读取。
像Intel X25-E等较新的闪存SSD固态硬盘其IOPS会比传统的硬盘要高,在Xssist进行的一个测试中,用IOmeter软件,4 KB随机存取,读取/写入比例为70/30,队列深度4,Intel X25-E 64 GB G1的IOPS一开始有 10000 IOPs,在八分钟后快速掉到4000 IOPS,之后的42分钟持续的下降,自第50分钟起到第八小时之间,IOPS在3000至4000之间变化。即使第50分钟IOPS快速下降,X25-E的IOPS仍较传统硬盘要高。像OCZRevoDrive 3 x2 PCIe用SandForce控制器,其持续写入性能和读取速度大致相近。
随机存取处理下,一些常见的IOPS平均值,计算方式是1/(寻址时间 + 回应时间) = IOPS: