一、磁盘的分类

    磁盘按照接口类型可以分为ATA(IDE)和SATA以及SCSI和SAS,FC盘。按照磁盘的芯片组成又分为固态硬盘(SSD)和机械硬盘。由于机械硬盘还是主流配置,我们日常所说的SAS,FC和SATA都是指机械硬盘。

下面是百度百科的简单介绍:

ATA,全称AdvancedTechnology Attachment,是用传统的 40-pin 并口数据线连接主板与硬盘的,接口速度最大为133MB/s,因为并口线的抗干扰性太差,且排线占用空间较大,不利电脑内部散热,已逐渐被SATA 所取代。

SATA,全称Serial ATA,也就是使用串口的ATA接口,因抗干扰性强,且对数据线的长度要求比ATA低很多,支持热插拔等功能,SATA-II的接口速度為375MB/s,而新的SATA-III标准可达到750MB/s的传输速度。SATA的数据线也比ATA的细得多,有利于机箱內的空气流通,整理线材也比较方便。

SCSI,全称是SmallComputer System Interface(小型机系统接口),经历多代的发展,从早期的 SCSI-II,到目前的 Ultra320 SCSI 以及 Fiber-Channel (光纤通道),接口型式也多种多样。SCSI 硬盘广为工作站级個人电脑以及服务器所使用,因此会使用较为先进的技術,如碟片转速15000rpm的高转速,且资料传输时CPU占用率较低,但是单价也比相同容量的 ATA 及 SATA 硬盘更加昂贵。

SAS(SerialAttached SCSI)是新一代的SCSI技术,和SATA硬盘相同,都是采取序列式技术以获得更高的传输速度,可达到6Gb/s。此外也透过缩小连接线改善系统内部空间等。

此外,由于SAS硬盘可以与SATA硬盘共享同样的背板,因此在同一个SAS存储系统中,可以用SATA硬盘来取代部分昂贵的SAS硬盘,节省整体的存储成本。但SATA存储系統并不能连接SAS硬盘。

FC(FibreChannel,光纤通道接口),拥有此接口的硬盘在使用光纤联接时具有热插拔性、高速带宽(4Gb/s或10Gb/s)、远程连接等特点;内部传输速率也比普通硬盘更高。限制于其高昂的售价, 通常用于高端服务器领域。

SSD:是由控制单元和固态存储单元(DRAM或FLASH芯片)组成的硬盘。固态硬盘的接口规范和定义、功能及使用方法上与普通硬盘的相同,在产品外形和尺寸上也与普通硬盘一致,SSD分类两类,一种是闪存(FLASH芯片)作为存储介质,另外一种是采用DRAM作为存储介质。SSD的特点是性能好,价格高

二、机械磁盘的物理结构 

如图所示,磁盘主要是通过机械臂(disk arm)上的磁头来读取磁盘上的数据,磁盘由一个或者多个圆盘(platter)组成,它们围绕着一根中心主轴(spindle )旋转,磁盘被组织成磁道(track),磁道是单个盘片上的同心圆,所有盘面上半径相同的磁道构成了柱面(cylinder),每一个磁道又按512个字节为单位划分为等分,叫做扇区(sector), 向磁盘读取和写入数据时,要以扇区为单位。

三、磁盘的性能

影响磁盘的关键因素是磁盘服务时间,即磁盘完成一个I/O请求所花费的时间Tio,它由寻道时间、旋转延迟和数据传输时间三部分构成

1)磁盘的访问时间(Access time),磁头找到访问数据的时间,是指寻道时间(seek time)和旋转延迟(Rotationallatency)之和。

a)  寻道时间Ta:seek time是指移动到数据(扇区)所在的磁道上的时间,最长寻道时间是移动到最里面(或者最外面)的扇区,最小寻道是指移动到相邻的扇区。磁盘的平均寻道时间是3~15ms,

b)  旋转延迟Tl:盘片旋转,是数据所在的扇区移动到磁道下面所需的时间。旋转延迟时间和磁盘的转速有关,通常使用磁盘旋转一周所需时间的1/2表示。比如,7200 rpm的磁盘平均旋转延迟大约为60*1000/7200/2 = 4.17ms

2)磁盘的传输时间Tt:从磁盘上把数据传输的主机接口的时间,和主机连接磁盘的接口和类型有关,和磁盘的传输率有关。

衡量磁盘的性能主要是下面三个指标

IOPS(Input/OutputPer Second):每秒能够完成的IO数据,对于OLTP型系统,IOPS是衡量IO性能的主要指标。

吞吐量(Throughput),一般用MBPS,每秒传输的MB字节数来衡量,常用于衡量OLAP型数据块的IO性能。

响应时间:对主机上的进程来说,完成一个IO请求所需的时间,也叫做latency延迟时间,一般响应时间应该小于20ms

 

三个指标的关系是:IOPS = throughput /block_size ,block_size是数据块的大小

以Seagate Savvio 2.5” SAS 15K rpm为例,磁盘的寻道平均时间是2.9ms,15000转,则旋转延迟时间为60*1000/15000/2=2ms,磁盘接口带宽是151MB/s,假设数据块大小为4KB,则磁盘的响应时间是4.927ms,IOPS为203,吞吐量为0.812MBPS(由于是小块随机读,吞吐量很小)

Ta= 2.9 ms; Tl= 2.0 ms; Tt= 4 / 151 = 0.027 ms; Tio= 2.9 + 2.0 + 0.027 =4.927 ms

IOPS= 1 / 4.927 = 203

吞吐量为203*4K/1000=0.812MBPS

四、主流磁盘参考性能指标如下

测试磁盘的IOPS,一般使用小块随机读,下面是一些盘的指标

Drive

(Type / RPM )

IOPS

(4KB block, random)
[WintelGuy.com]

IOPS

[1]*

IOPS

[2]*

IOPS

[3]*

FC / 15 K

163 -178

175

150 – 190

 

SAS / 15 K

188 – 203

175

150 – 190

180

FC / 10 K

142 – 151

125

100 – 130

 

SAS / 10 K

142 – 151

125

100 – 130

140

SAS/SATA / 7200

73 – 79

75

75 – 100

30 – 80

SATA / 5400

57

50

  

SSD

 

6000

  

 

测量吞吐量,一般使用大数据块顺序读,下面是常见的盘的指标

Drive

(Type / RPM )

MB/s
(large block, sequential)

FC / 15 K

73.5 – 127.5

SAS / 15 K

91.5 – 126.3

FC / 10 K

58.1 – 107.2

SAS / 10 K

58.1 – 107.2

SAS/SATA / 7200

43.4 – 97.8

 

 

参考文档

http://wintelguy.com/2013/20130406_disk_perf.html

http://www.thomas-krenn.com/en/wiki/Linux_I/O_Performance_Tests_using_dd

http://www.sgidepot.co.uk/diskdata.html

http://blog.csdn.net/tianlesoftware/article/details/6009110

http://zh.wikipedia.org/wiki/%E7%A1%AC%E7%9B%98