磁盘按照接口类型可以分为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) |
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 |
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