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

本文涉及的产品
数据传输服务 DTS,数据迁移 small 3个月
推荐场景:
MySQL数据库上云
简介:

本节书摘来异步社区《信息存储与管理(第二版):数字信息的存储、管理和保护》一书中的第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%以下。

相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
Sqoop 企业级大数据迁移方案实战
Sqoop是一个用于在Hadoop和关系数据库服务器之间传输数据的工具。它用于从关系数据库(如MySQL,Oracle)导入数据到Hadoop HDFS,并从Hadoop文件系统导出到关系数据库。 本课程主要讲解了Sqoop的设计思想及原理、部署安装及配置、详细具体的使用方法技巧与实操案例、企业级任务管理等。结合日常工作实践,培养解决实际问题的能力。本课程由黑马程序员提供。
相关文章
|
6月前
|
存储 算法 调度
分页储存管理.分段储存管理.虚拟储存管理
分页储存管理和分段储存管理是操作系统中常用的两种内存管理方式。 1. 分页储存管理: - 基本原理:将物理内存和逻辑内存划分为固定大小的页面和页面框,使得逻辑地址空间和物理地址空间可以对应起来。进程的逻辑地址空间被划分为多个固定大小的页面,每个页面与一个物理内存页面框对应。通过页表将逻辑地址映射到物理地址,实现地址转换。 - 优点:简单、灵活,能够提供较大的逻辑地址空间,适用于多道程序设计和虚拟内存管理。 - 缺点:存在内部碎片,会造成一定的存储空间浪费。 2. 分段储存管理: - 基本原理:将进程的逻辑地址空间划分为若干个逻辑段,每个逻辑段代表一个逻辑单位,如代码
103 0
|
5月前
|
存储 移动开发 算法
大容量存储(涉及到的硬盘存取的原理)
大容量存储(涉及到的硬盘存取的原理)
72 0

热门文章

最新文章