今天,如果用户的预算吃紧,要想找到能满足需求的最好的存储方案还是相当困难的。一般来说,大公司的产品售价都比较高,而许多二流小公司推出的价格低廉的方案却并不能真正满足你的需求。由于存储的基础技术中有99.9%都跟磁盘相关,所以我们就从磁盘入手。本文试图帮助大家认清存储的本质,并重点讨论存储的性能和不同种类的磁盘接口,揭开SATA和SCSI之间的恩怨情仇。
一、磁盘性能,谁说了算?
为了弄清磁盘的基本性能,我们先看一下磁盘的基本工作流程:
1.磁盘控制器把逻辑地址转换成物理地址(柱面、磁道、扇区)。数据请求的时间只不过数几十个十亿分之一秒,而指令的解码和传输则占用1毫秒(ms)。
2.磁头由调节臂移到正确的磁道上方。平均寻道时间在3.5-10ms之间。
3.旋转电机把磁头确定在正确的扇区上方。这称作旋转延迟,大约占用5.6毫秒(5400rpm)到2毫秒(15000rpm),旋转延迟是由旋转电机的转速快慢来决定的。
4.然后数据才被读和写。读写数据的时间由读写磁盘的扇区数目决定。访问数据的速率称为介质传输率(MTR),MTR取决于电机旋转速度和数据存储的密度。存储密度越高,在相同时间内磁头下移动的数据就越多。
5.在读数据的时候,数据会先进入磁盘缓冲区,然后通过磁盘接口被传输到系统中。
那么,对磁盘性能而言,上述哪种操作是最关键的呢?这要取决于读或写的数据本身。如果我们需要的数据是分散在整个磁盘上的小数据碎片,那么数据寻道时间和延迟是最重要的因素。相反,如果传输的是大块、连续性的数据(例如紧密分布在磁盘驱动器表面的数据),介质传输率(MTR)则是最重要的。
为了验证这一点,我们针对上述两种情况进行了测试:一种情况是传输一个4MB大小的数据块,即类似于在电脑上打开一首MP3歌曲;另一种情况是读取100个4KB大小的不同数据块,如100个用户同时向数据库服务器发送一个很简单的查询请求。结果如下表所示,表的最下面两行分别是总时间和数据持续传输率(STR)。
上一页12 下一页