IOPS
计算机术语
IOPS(Input/Output Operations Per Second)是一个用于计算机存储设备(如硬盘(HDD)、固态硬盘(SSD)或存储区域网络(SAN))性能测试的量测方式,可以视为是每秒的读写次数。和其他性能测试一样,存储设备制造商提出的IOPS不保证就是实际应用下的性能。
简介
IOPS(Input/OutputOperations Per Second)是一个用于计算机存储设备(如硬盘(HDD)、固态硬盘(SSD)或存储区域网络(SAN))性能测试的量测方式,可以视为是每秒的读写次数。和其他性能测试一様,存储设备制造商提出的IOPS不保证就是实际应用下的性能。
IOPS可以用应用程序来量测,例如一开始由微软开发的Iometer,像IOzoneFIO也有类似功能,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控制器,其持续写入性能和读取速度大致相近。
一些IOPS的示例
硬盘驱动器
随机存取处理下,一些常见的IOPS平均值,计算方式是1/(寻址时间 + 回应时间) = IOPS:
固态设备
相关条目
参考资料
最新修订时间:2024-01-03 14:16
目录
概述
简介
参考资料