什么是IOPS?

IOPS是Input/Output Operations Per Second的缩写,表示每秒钟的读写次数,是衡量磁盘性能的重要指标之一,IOPS值越大越好。

另外一个重要指标就是吞吐量,就是我们说的读写速度,也是越大越好。我们可以用dd命令粗略地测试吞吐量。

iops和throughput是磁盘性能的两大重要指标

IOPS和吞吐量这两个重要指标之间有一定的关系,每秒 I/O 吞吐量= IOPS* 平均 I/O 大小。针对不同的块大小,读、写比例,每次测得的IOPS会有一定的偏差。所以要想衡量磁盘是不是符合自己的需求,在测试的时候,要定义好读、写比例,I/O块大小等。

常用的测试工具有IOmeter,其他一些工具也可以测的,比如我们介绍过的ioping

对于机械硬盘来说,每次IO需要消耗的时间分为三块:寻址时间、旋转延时和传送时间。

寻址是当控制器对磁盘发出一个IO操作命令的时候,磁盘的驱动带读写磁头离开着陆区(位于内圈没有数据的区域),移动到要操作的初始数据块所在的磁道的正上方的过程,对应消耗的时间被称为寻址时间。

找到对应磁道还不能马上读取数据,这时候磁头要等到磁盘盘片旋转到初始数据块所在的扇区落在读写磁头正上方后才能开始读取数据,在这个等待盘片旋转到可操作扇区的过程中消耗的时间称为旋转延时。

传送时间指随着盘片的旋转,磁头不断地读/写相应的数据块,直到完成这次IO所需要操作的全部数据所花费的时间。

对于固态硬盘来说,因为和机械硬盘的构造原理不同,它的IOPS主要取决于内部存储控制器和存储带宽。

扩展阅读:

使用dd命令测试主机IO性能

硬盘延时监测工具:ioping

为什么Trim可以提高固态硬盘写入速度?

固态硬盘的写入机制和机械硬盘不一样,机械硬盘的写入可以直接覆盖,而固态硬盘的写入需要擦除数据后才能再写入。这就使得固态硬盘随着我们写入的增多,无效数据的增多,写入就变得越来越慢了。

TRIM的作用就是在空闲的时候,标记出无效的数据,交给垃圾回收机制,回收完成之后将这些位置标记为空闲,当我们在写入数据的时候,就不用花时间去擦除数据,直接写入,大大提高了写入速度。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>