使用磁盘镜像增加I/O性能
迄今,对磁盘镜像的讨论仅涉及写操作的镜像。事实上,写操作只占整个磁盘操作的1 0 % ~ 2 0 %左右,大部分磁盘操作都是读操作。因此,增强磁盘读操作的速度是改善性能非常重要的环节。
许多年来,I / O性能一直是很重要的研究课题,随着我们所拥有的在线数据量的增长,它正变得越来越重要。在一个普通的计算机系统中,最慢的组件通常是磁盘驱动器,虽然内存的响应时间保守地估计在6 0~8 0纳秒,但磁盘的访问时间却在8~1 2微秒范围内。因而,磁盘驱动器的速度比内存要慢1 0 0多倍。
为了更明白地理解磁盘和内存速度的差别,考虑在日常工作期间,处理一件事花费的时间增加1 0 0倍时的情景。这时,如果你原来驾车上班的时间是1 5分钟,那么,你现在驾车上班将不得不花去1 5 0 0分钟(2 5小时);假如你原来花费2分钟时间就能发送一份传真,那么,现在发送一份传真,你将不得不花2 0 0分钟得时间。因此毫不夸张地说,这使我们很难完成任何事情。考虑存放在磁盘上巨大的数据量,就能认识到磁盘性能改进的意义。
已经证明,磁盘镜像能在改善性能的同时,也能提供更高的可靠性。磁盘的臂总是带动着磁头不停地在盘片表面运动,以进行读/写操作,只要磁头停止在它们将要读/写的磁道上,数据传输是很快的,但定位磁头于正确的磁道上则需要花很长时间,这个时间延迟是导致磁盘速度慢的主要原因。假如能够减少由磁盘臂在磁盘表面移动而引入的延迟,则能节省大量的时间。
对于镜像的写,两个驱动器的磁盘臂都被定位在各地的磁道上,然后,才能将数据写入磁盘。相比之下,读操作则不必置两个磁盘臂于两个驱动器的同样磁道上,只要两个驱动器之一的磁盘臂置于正确的磁道,就能正确地读出数据,因此,磁盘读冗余是完全没有必要的。当队列中有多个读操作时,可以分散工作负荷,以至于一个磁盘处理这一组请求,另一个磁盘处理另一组请求,使用这种方法,磁盘的响应速度将会加倍。
图4 - 1 2显示了从一对镜像磁盘中的异步读操作。
阅读(384) | 评论(0) | 转发(0) |