磁盘结构及磁盘性能参数IOPS计算方法介绍

来源:互联网 发布:淘宝店铺商品采集 编辑:程序博客网 时间:2024/04/29 23:45

磁盘结构

硬盘本质是一种机械装置,由盘体、磁头、电机、硬盘控制器组成。硬盘的结构如下图所示:


盘体一般由多个盘片组成,这些盘片重叠在一起放在一个密封的盒中。盘片在电机的带动下高速旋转,存储设备中使用的高性能硬盘转速每分钟达到7200转、10000转、15000转。转速的不同造成硬盘读写能力的不同。硬盘的磁头用来读取或者修改盘片上磁性物质的状态。硬盘控制器,是把计算机指令转化为硬盘动作的接口设备。它接收并解释计算机来的命令,向硬盘发出各种控制信号;检测硬盘状态,按照规定的硬盘数据格式,把数据写入硬盘和从硬盘读出数据。为了对磁盘进行管理,盘片会进一步划分为磁道和扇区。


磁盘IO操作介绍

简单的说,磁盘的一个典型I/O操作由两个阶段组成:

1. 数据的定位

首先,磁头在盘片径向移动到正确磁道。其次,盘片转到磁头所在位置。由于磁头需要读写的盘片位置是随机的,最远的需要旋转一圈,最近的可能就在磁头所在位置,所以我们取平均值,即盘片旋转半圈即可找到需要的数据。

2. 数据的传输

完成数据的定位后,并开始读取和传输数据。传输数据的时间取决于数据传输率,其值等于数据大小除以数据传输率。

磁盘性能参数IOPS介绍

根据上面的描述,影响IO的服务响应时间,包括以下三项时间:

1. 盘片旋转延迟时间 (rotational latency)

假设硬盘电机转速10000rpm,那旋转一圈的时间是,1/10000=0.0001分钟,换算为毫秒0.0001X60X1000=6毫秒,半圈需要3毫秒。同样可算出15000rpm硬盘延迟时间2毫秒,7200rpm硬盘延迟时间4.2毫秒。

2 . 磁头寻道时间 (seek time)

硬盘厂家标称此花费时间平均值范围3-15ms,查询到4GB 15000rpm FC硬盘寻道延迟时间约为3.5毫秒,SATA硬盘约为8-9毫秒。
3. 数据传输时间(Data transfer )

目前IDE/ATA能达到133MB/s,SATA II可达到300MB/s的接口数据传输率,数据传输时间通常远小于前两部分时间。因此,理论上可以忽略。

为了对计算机存储设备(HDD,SSD,SAN)等的性能进行度量,业绩提出了IOPS(Input/Output Operations Per Second, pronounced eye-ops)参数,即每秒钟输入/输出操作的次数。在日常存储设备选型中,硬盘的物理容量大小及接口类型对单个硬盘IOPS性能的影响可忽略,我们根据不同的硬盘转速及寻道时间计算IO性能来选择,以下常用的硬盘IOPS理论值供参考:

计算公式:IOPS = 1000ms / (磁盘旋转延迟时间(ms) +  磁头寻道时间(ms))

15000rpm 硬盘 1000/(2+3.5)  ≈180
10000rpm 硬盘 1000/(3+3.5)  ≈150
7200rpm   硬盘 1000/(4.2+8) ≈80

磁盘IOPS参数参考信息

下表是SATA和SAS接口类型的磁盘IOPS参数对比:
DeviceTypeIOPSInterfaceNotes7,200 rpm SATA drivesHDD~75-100 IOPS[2]SATA 3 Gbit/s 10,000 rpm SATA drivesHDD~125-150 IOPS[2]SATA 3 Gbit/s 10,000 rpm SAS drivesHDD~140 IOPS[2]SAS 15,000 rpm SAS drivesHDD~175-210 IOPS[2]SAS 

关于IOPS更详细的介绍以及目前流行的SSD的参数信息,可以参见wiki:http://en.wikipedia.org/wiki/IOPS

0 0
原创粉丝点击