《信息存储与管理(第二版):数字信息的存储、管理和保护》—— 2.7 磁盘驱动器的性能

  1. 云栖社区>
  2. 博客>
  3. 正文

《信息存储与管理(第二版):数字信息的存储、管理和保护》—— 2.7 磁盘驱动器的性能

异步社区 2017-05-02 09:59:00 浏览1263
展开阅读全文

本节书摘来异步社区《信息存储与管理(第二版):数字信息的存储、管理和保护》一书中的第2章,第2.7节,作者:【新加坡】G.Somasundaram ,【美】Alok Shrivastava,更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.7 磁盘驱动器的性能

信息存储与管理(第二版):数字信息的存储、管理和保护
磁盘驱动器属机电设备,它决定了存储系统环境的整体性能。本节将讨论影响它性能的各种因素。

2.7.1 磁盘服务时间

磁盘服务时间(Disk Service Time)是指磁盘完成一个I/O请求所花费的时间。影响它的因素有三个:寻道时间、旋转延迟和数据传输速率。

寻道时间
寻道时间(Seek Time,也叫访问时间,Access Time)指的是读写头在盘面上移动(沿着盘面半径方向)进行定位的时间,也就是移动驱动臂将读写头移动到正确的磁道上所需要的时间。寻道时间越短,I/O操作越快。磁盘生产商发布了以下寻道时间的规格。

全程时间(Full Stroke):读写头从最里面的磁道移动到最外面的磁道,跨越整个磁盘宽度的时间。
平均时间(Average):读写头随机地从一个磁道移动到另一个磁道的平均时间,通常指的是全程时间的三分之一。
相邻磁道时间(Track-to-Track):读写头在两个相邻磁道间移动的时间。
上述规格都是以毫秒来度量的。磁盘生产商通常会标明磁盘的寻道时间。现在磁盘的平均寻道时间一般在3~15ms。对于读操作来说,在随机的磁道上读数据与在相邻磁道上读数据相比,寻道时间对前者的影响更为关键。为了减少寻道时间,可以把数据只写到某些柱面上去。这将导致比实际容量更低的有效磁盘容量。例如,如果只用到一个500GB磁盘靠外的前40%柱面,那么它的有效容量只有200GB。这就是所谓的磁盘短击(Short-Stroking)。

旋转延迟
为了存取数据,驱动装置和驱动臂需要将盘面上方的读写头移到特定的磁道,同时盘片旋转,将请求的数据(扇区)移到读写头下面。盘片旋转以定位读写头下方的数据(扇区)所用的时间,称为旋转延迟(Rotational Latency)。延迟时间取决于主轴的转速并以ms来度量。平均旋转延迟是主轴旋转一圈所需时间的二分之一。与寻道时间类似,读写随机选择的扇区与读写相邻扇区相比,旋转延迟对前者的影响更大。

一个转速为5 400rpm的磁盘的平均旋转延迟大约为5.5ms,而转速为15 000rpm(或每秒250转)的磁盘,其平均旋转延迟约为2.0ms。

数据传输速率
数据传输速率(Data Transfer Rate,也叫传输速率,Transfer Rate)指的是每个单位时间内磁盘能够传输到HBA的平均数据量。要计算数据传输速率,首先要明白读写操作的过程。对于读操作,数据首先从盘面移动到读写头,再到磁盘内部的缓冲区,最后才通过接口传输到主机HBA。对于写操作,数据通过磁盘接口从HBA传输到磁盘内部缓冲区,再到读写头,最终从读写头写到盘面上。

读写操作的数据传输速率是以内部和外部传输速率来衡量的,如图2-11所示。

33763952a37b2939dede6d76d7382ef0b0db01c5

内部传输速率(Internal Transfer Rate)指的是数据从一个盘面上的单个磁道传输到内部缓冲区的速率。内部传输速率需要将寻道时间和旋转延迟考虑在内。外部传输速率(External Transfer Rate)指的是数据从接口移动到HBA的速率。通常外部传输速率是接口所宣称的速率,比如ATA的速率是133MB/s。持续的外部传输速率(实际工作时)一般要低于所宣称的接口速率。

2.7.2 磁盘I/O控制器的利用率

磁盘的I/O控制器的利用率对于I/O响应时间的影响很大。要理解如何影响,我们可以将磁盘看作一个黑盒子,包括2个部分。

队列(Queue):用于存放等待I/O控制器处理的I/O请求。
磁盘I/O控制器(Disk I/O Controller):依次处理队列中的I/O请求。
I/O请求以应用程序生成请求的速率到达控制器。这个速率也称作到达速率(Arrival Rate)。这些请求暂存在I/O队列中,将由I/O控制器依次进行处理,如图2-12所示。I/O到达速率、队列长度,还有I/O控制器处理每个请求的时间决定着I/O响应时间。如果控制器一直忙碌或处于高利用率状态,队列规模会较大,反应时间也会较长。

8959c787bdf0a9eb95713346076351b5158c76af

根据磁盘驱动器性能的基本规则,控制器利用率和平均响应时间的关系如下:

平均响应时间(TR)=服务时间(TS)/(1利用率)

其中TS是控制器处理一次I/O所用的时间。

当利用率为达到100%时——也就是I/O控制器饱和时,响应时间接近于无限大。实际上,饱和的部件,或者说瓶颈,迫使I/O请求序列化,这意味着每个I/O请求都必须等待它前面的请求被处理完毕。利用率和响应时间的关系如图2-13所示。

515e85998ca8e0c85eed5ad81c86f2b16bf213a5

该图显示,响应时间随着利用率增加呈非线性的变化。当平均队列长度很短时,响应时间一直很快。当队列负载增加时,响应时间也逐渐地增大。当利用率超过70%时,响应时间呈指数增长。因此,对于性能敏感型应用,常规做法是保证磁盘利用率在70%以下。

网友评论

登录后评论
0/500
评论
异步社区
+ 关注