IOPS(Input/Output Operations Per Second)是一个用于计算机
存储设备(如
硬盘(HDD)、
固态硬盘(SSD)或
存储区域网络(SAN))
性能测试的量测方式,可以视为是每秒的读写次数。和其他
性能测试一样,存储设备
制造商提出的IOPS不保证就是实际应用下的性能。
IOPS(Input/OutputOperations Per Second)是一个用于计算机
存储设备(如
硬盘(HDD)、
固态硬盘(SSD)或
存储区域网络(SAN))
性能测试的量测方式,可以视为是每秒的读写次数。和其他性能测试一様,存储设备制造商提出的IOPS不保证就是实际应用下的性能。
IOPS可以用应用程序来量测,例如一开始由微软开发的
Iometer,像
IOzone及
FIO也有类似功能,IOPS主要会用在
服务器,以找到最佳的存储配置。
IOPS的数值会随系统配置而有很大的不同,依测试者在测试时的控制变因而异,控制变因包括读取及写入的比例、其中循序访问及
随机存取的比例及配置方式、线程数量及访问队列深度,以及数据区块的大小。其他因素也会影响IOPS的结果,例如系统设置、存储设备的
驱动程序、操作系统后台运行的作业等。若在测试
固态硬盘时,是否先进行预调(preconditioning)机制也会影响IOPS的结果。
最常量测的性能特性是
随机存取及循序访问时的IOPS。循序访问是访问存储设备中相邻位置的数据,一般和较大的数据区块访问有关,例如128KB,随机存取是访问存储设备中非相邻位置的数据.一般访问的数据区块比较少,例如4KB。
对于硬盘或是其他类似的机电存储设备,其随机存取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控制器,其持续写入性能和读取速度大致相近。