硬盘加速应用方案大全

主题策划

技术的发展带来了硬盘读写技术的革新,磁密度越来越高,硬盘容量也是越来越大。不过稍加留心就会发现,尽管现在市面上大容量硬盘越来越多,但实际上大容量且高速的硬盘却很少见了,无论希捷还是西部数据,市面上2TB的大容量硬盘我们能够见到的基本上都是5900RPM或5400RPM的产品,常规版本7200RPM的大容量硬盘几乎只能在1TB及以下容量的硬盘中见到了。

不管出现这种情况的原因是大容量高转速硬盘发热量大容易损坏,厂商为降低返修率,还是厂商的默认设计2TB硬盘更多的是用来做数据存储备份用,而不是拿来装系统,或者是其他原因,至少对于购买大容量硬盘的消费者来说,如果想在2TB硬盘上面安装操作系统而不单是用于数据存储的话,相应的系统磁盘性能就会有所欠缺了。同时,我们知道磁盘性能其实一直是系统性能的短板,因此,提高系统的磁盘性能成为很多用户亟待解决的大问题。解决磁盘性能低下的问题就是本期的主题策划的目的,下面我们就一起来看看究竟有哪些应用方案能够提高磁盘性能,这些方案各自的优势是什么,哪种方案最值得选择?

硬盘加速方案简介

目前来说,要想提高系统磁盘性能无非就是多硬盘同时写入(RAID 0)、增大缓存、利用闪存加速系统、采用固态硬盘以及大内存虚拟硬盘这几种方案,下面我们将为大家一一分析。

第一种方案是组建RAID 0磁盘系统,这种方案的本质就是将多块硬盘视为一块硬盘,通过某种算法平衡数据读取和写入时的磁盘操作,让数据的读取和写入操作可以同时在几个硬盘上进行,磁盘性能自然会有成倍的增长。采用这种方案的大硬盘系统性能的提升是非常明显的,尤其是在持续数据读取和写入的时候,可以明显看到系统性能的成倍增长,而且,即便是在普通应用中,多硬盘组建RAID 0系统也能带来明显的磁盘性能提升。

第二种方案是将多余的内存虚拟成磁盘缓存,为硬盘分配内存作缓存,并拦截系统发送至硬盘的IO请求。如果IO请求读取的数据已经在缓存中,则直接读取缓存中的数据并完成IO请求。否则数据则从硬盘中读取出来,并存入缓存,同时完成IO请求。不过,采用这种方案显然是从缓存读取的数据量越多,则系统性能提升得越多,也就是说对缓存容量是有一定要求的,只有内存虚拟的磁盘缓存够大才能够避免频繁读取速度较慢的硬盘,从而提升系统性能。

第三种方案是利用Windows Vista和Windows7系统自带的功能,通过在系统中插入一款读写性能都非常出色的闪存来激活系统的ReadyBoost功能,实现闪存对系统的加速。这种方案的思路其实和利用内存来做磁盘缓存非常类似,也是利用随机访问速度快的闪存来作为磁盘的缓存,以提高系统在加载多个小文件时的性能,这种方案需要额外准备一个读写性能都非常高的闪存,而且对系统的整体性能影响也并不大。只有在频繁读取大量小文件时才能感觉到系统磁盘性能有明显的提升。

第四种方案是直接选择目前热门的高速硬盘——固态硬盘来安装操作系统和主要程序,由于固态硬盘的价格相对较高,而且主流固态硬盘的写入寿命只有几千次,将系统装进固态硬盘,也就意味着系统会在固态硬盘上产生很多临时文件、系统补丁下载文件、系统补丁升级备份文件等等,对固态硬盘的寿命是有一定影响的。不过,从另一个方面来说,将系统安装在固态硬盘中确实对系统性能的提升非常大,系统加载速度大幅度提升,程序加载的速度也变得相当快。只是这种方案下的固态硬盘也许寿命会大幅缩短,而且在硬盘产生了大量临时文件后,写入的临时文件越多,固态硬盘的性能也就会越低,需要不时地使用Trim功能来优化固态硬盘的性能。

第五种方案是将部分内存虚拟成硬盘,这样一来系统中将会出现一个读写速度非常快的分区。将部分应用程序安装在虚拟硬盘中之后,启动这些应用程序的速度会有非常明显的提升,但是对整个系统的整体性能影响并不大。不过现在的虚拟硬盘软件也支持在关机时将虚拟硬盘中的数据写入镜像,不会再出现关机丢失数据的情况。这种方案目前也有一定的局限性——虚拟硬盘软件只能创建容量在4GB以内的虚拟硬盘。

我们如何测试

测试平台

■处理器:Intel Xeon E3-1230

■主板:技嘉Z68A-D3H-B3

■内存:宇瞻DDR3 1600 2GB×4

■硬盘:希捷7200.12 1TB

■显卡:索泰GeForce GTX 560TI

■显示器:DELL U2410

■电源:航嘉X7 900

■系统:Windows 7 64bit中文版

■驱动:ForceWare 270.80

在本次测试中,我们主要考查每套方案的系统性能和磁盘性能。在系统性能方面,我们使用PCMark7来测试整个系统的各项分数,同时记录系统开机加载Windows7的时间及从系统中关机的时间,再记录《天堂2.5》测试程序的加载时间,以测试系统在读取大型程序和游戏时的速度。

在磁盘性能方面,我们选择SiSoftware Sandra的文件系统读写性能测试和HD Tune磁盘读取测试,除了内存虚拟硬盘的系统,我们测试虚拟硬盘的读写速度外,对于其他方案来说,我们测试主硬盘的读写速度。

测试方案详解

方案一:组建RAID 0系统

37-e4-1.jpg

RAID全称为“Redundant Array of Inexpensive Disks”,中文意思是“廉价冗余磁盘阵列”,是一种把多块独立的硬盘(物理硬盘)按不同方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和数据冗余的技术。所谓数据冗余是指数据一旦发生损坏,利用冗余信息可以使受损数据得以恢复,从而保障了数据的安全性。

曾经,RAID对很多用户来说都是一个非常复杂的东西,要实现RAID步骤非常多,甚至还需要购买RAID卡来组建RAID方案,更要安装驱动才能实现RAID功能,否则连系统都无法安装,更不要说其他操作了。不过对于目前的主流平台来说RAID功能并不是什么大不了的功能了,几乎所有的主板南桥芯片组都加入了对RAID功能的支持,主流的Windows7操作系统对RAID的支持也变得非常好,基本不用安装驱动就能跟平时使用硬盘一样使用组建RAID 0的硬盘。

RAID 0使用一种称为“条带”(Striping)的技术把数据分布到各个磁盘上,在那里每个“条带”被分散到连续“块”(Block)上,数据被分成从512字节(Byte)到数兆字节的若干块后,再交替写到磁盘中。第1块数据被写到磁盘1中,第2块数据被写到磁盘2中,以此类推。当系统到达阵列中的最后一个磁盘时,就写到磁盘1的下一分段,如此进行下去,直到数据写完为止。由于RAID 0方式的优点是采用数据分块、并行传送方式,能够大幅度提高数据读写速度,理论上两块硬盘组建的RAID 0系统数据写入速度可以达到单块硬盘速度的两倍,而数据读取的时间则是单块硬盘所用时间的一半,这种方案就好比一个人抄一本书要10天时间,而两个人同时抄一本书的前后半部分只要5天时间就能抄完。因此要想实现系统磁盘性能的提升,RAID 0是我们的最佳选择。

下面我们首先来介绍一下RAID 0的组建。创建RAID 0之前,首先要做好数据的备份工作,否则一旦组建为RAID系统,原有硬盘上的数据就全部丢失了,不备份的话,恐怕会损失惨重。在将数据备份完成后,我们将两块同样的硬盘都接到主板上,然后开机进入BIOS,在磁盘控制选项(通常为Storage Configuration)中,将硬盘的模式设置为RAID,然后保存BIOS设置重启。重新启动后,系统会识别出已设置为RAID的两块硬盘,然后出现RAID控制菜单,此时要迅速按下“Ctrl+I”进入RAID设置界面,在RAID设置界面选择创建新RAID磁盘,然后选择创建模式为RAID 0,确认后重新启动,RAID 0就算是组建好了。下一步就是安装操作系统。

37-e4-2.jpg
启用RAID模式首先要在BIOS里将硬盘模式设置为RAID
37-e4-3.jpg
在RAID控制菜单出现时按下Ctrl+I进入RAID设置界面
37-e4-4.jpg
在RAID设置界面创建新RAID磁盘

对于目前主流的Windows7来说并没有什么特别的地方,和普通硬盘的安装没有任何区别,只是安装速度更快一些。不过,如果是想安装Windows XP就要麻烦些了,要求要么系统中自带软驱,要么自行制作整合了RAID驱动的Windows XP安装光盘。对于使用软驱安装RAID驱动的系统来说,在系统安装过程中出现需要安装RAID或SCSI硬盘请按“F6”键时按下F6键,将准备好的RAID驱动软盘放入软驱,让系统自己安装。如果是Windows XP安装光盘中已经整合了RAID驱动则不用管它,直接安装即可。

从测试成绩我们可以看到,组建了RAID后的系统,磁盘的持续读写能力确实有了成倍的增长,加载游戏程序的速度也有明显的提高,就连关机速度也变快了很多。不过由于组建了RAID 0之后,系统将会首先访问南桥芯片中的RAID控制器,再向硬盘读写数据,这就导致了随机读取时间和系统启动时间的延长。不过从总的性能来看,组建RAID 0还是能够大幅度提升系统的磁盘性能。但这种方案需要两块相同的硬盘,而且操作相对复杂,还需要做好备份工作,以防数据丢失,建议动手能力比较强的读者用户考虑这种方案。

方案二:将内存虚拟成磁盘缓存

37-e4-5.jpg

上上期的大内存应用方案解析中我们就谈到过在拥有16GB内存的系统中分割4GB内存来作磁盘缓存以提升磁盘性能是非常有效的。毕竟现在主流硬盘64MB的缓存是完全不够用的,要想以最简单最方便的办法提升磁盘性能,将内存虚拟成磁盘缓存是可以考虑的办法之一。

不过,在本期我们将问题更具体化,虽然现在4GB DDR3内存只要100多元,但是并非所有的主板都支持安装16GB内存,而且对于大部分用户来说,即便主板支持,他们也不会发烧到购买4条4GB内存来提升性能。因此,在本期的测试中,我们将目前主流的配置分为4GB内存和8GB内存两种,依然采用FancyCache这款将系统内存虚拟成硬盘缓存的软件来进行测试。

FancyCache能够把从硬盘中读取的数据存入系统内存,使系统在下次访问该数据时可以很快从内存读取,可以看到在64位Windows7系统中,启用FancyCache的结果大相径庭,并不是说打开内存虚拟硬盘缓存就一定能带来性能的巨大提升。对于目前最多的配置4GB内存的系统来说,考虑到系统运行程序的需要,我们不可能将过多的内存虚拟成磁盘缓存,从测试结果来看,1GB内存做磁盘缓存并没有非常明显地提升系统的磁盘性能,只有随机读写、带缓存读写等部分测试项目的成绩有一定程度的提升,PCMark7 的测试成绩也没有太大幅度的上升。

但是对于采用了8GB内存的系统来说,由于目前的系统对内存的要求并不是非常高,在普通应用中我们其实用不到8GB的内存,4GB内存已经足够系统使用了,在这种情况下,我们给系统设置了4GB内存作为磁盘缓存。从测试成绩可以看到,磁盘缓存容量的扩大带来了系统性能的巨大提升,PCMark7的系统得分从3000分出头提升到接近5000分,除了持续读写速度之外,磁盘索引速度、读写速度都有一定程度的提升,游戏加载速度和系统开关机速度也有一定程度的提升,终于让我们看到了大硬盘缓存带来的飞速性能提升,而这才是我们最希望得到的结果。

同样的在HD Tune的随机读写测试中,我们也可以看到大缓存带来了非常明显的改变,4KB的随机读写性能,第一次只有59IOPS,和普通硬盘的速度差别不大,但是紧接着进行第二次测试,大缓存的优势就表现出来了,其4KB随机读写性能达到了172641IOPS,比目前性能最高的固态硬盘还高出一倍多!

方案三:开启ReadyBoost

37-e4-6.jpg

ReadyBoost是微软在Windows Vista操作系统中加入的新功能,ReadyBoost功能可以使用USB闪存提升PC的性能。其本质是为Windows系统建立一个类似虚拟内存的缓冲区,将部分经常读写的数据通过ReadyBoost转移到闪存中运行。由于闪存的存取速度远胜于硬盘,因此用来处理经常读写的数据时更显优势,同时也能减少硬盘的读写次数。不过ReadyBoost功能更多的应该是为内存相对较小需要频繁读写虚拟内存的系统准备的,对于现在动辄4GB内存的系统ReadyBoost能够起什么作用,其实很值得怀疑。

37-e4-7.jpg
在闪存插入计算机时点击对话框最下方的"加速我的系统"即可打开ReadyBoost

使用ReadyBoost功能的先决条件,就是USB闪存必须满足读取4KB数据的速度达2.5MB/s或以上,随机写入512KB数据的速度达1.75MB/s或以上;64MB以上空闲空间。对于现在的闪存来说,其实这些都不是问题。目前高性能的USB 3.0闪存甚至能够远远超越微软要求的性能。比如在本项测试中,我们就是用读写速度都非常高的宇瞻AH552 USB 3.0闪存,并且将它连接在主板的USB 3.0接口上。但是实际测试结果让人非常失望,除了关机时间等非常少的几项以外,其他各项成绩均没有任何提升,甚至还有些项目有所下降。如果说宇瞻AH552这样价格较高性能强劲的闪存都不能真正起到所谓的ReadyBoost的作用,其他性能差的闪存更不可能表现得更好。也就是说,希望通过ReadyBoost来提升系统磁盘性能,对于如今的主流平台来说,是完全不可能的,除了浪费闪存内的空间,甚至缩短闪存寿命之外,ReadyBoost起不到任何作用。

方案四:使用SSD安装系统

37-e4-8.jpg

SSD最大的优势不在于防震,也不在于体积小巧,而在于它非常出色的读写性能,当然,这也是SSD价格昂贵的最大原因。目前有很多高端品牌机及笔记本标配的就是SSD,就是为了尽可能地提升系统的整体性能。我们当然也要尝试将系统安装在SSD上看看究竟对性能有什么影响。

从测试结果可以看到,将系统安装在SSD上之后,系统的磁盘性能和整体性能都有了非常明显的提升,尽管我们用的并不是一款高端的SSD,但其性能表现依然超过了两块7200RPM硬盘RAID 0的表现。从性能上来说,采用SSD装系统显然是非常好的选择,不过我们也知道SSD的读写寿命只有几千甚至几百次,系统安装在SSD上会频繁向SSD写入各种文件,会明显缩短其使用寿命,而且过于零碎的文件结构也会降低SSD的性能,因此尽管将系统安装在SSD上能够有效提升系统性能,也很少有用户愿意这么做。

方案五:将内存虚拟成硬盘

37-e4-9.jpg

上上期我们就讲过,很多内存较大的用户都有过将部分内存虚拟成硬盘的想法,将内存虚拟成硬盘是最容易实现的硬盘加速应用方案。不过,和上上期的条件不同的是,本期我们只以常态的内存配备来测试。和之前内存虚拟成磁盘缓存一样,我们同样将条件设置为4GB内存系统和8GB内存系统,由于4GB内存系统基本上只能分配1GB的内存来虚拟硬盘,其实用性并不大,因此我们还是主要测试8GB内存系统分割4GB内存做虚拟硬盘的性能。本期,我们同样采用VSuite Ramdisk这款软件来实现大内存的硬盘虚拟。

我们知道这类软件都是通过独特的算法,将内存虚拟成硬盘,使得对硬盘文件的数据读写转化为对内存的数据访问,可大幅提高数据的访问速度,因此采用这种方案虚拟出的硬盘的读写性能必然非常出色。

从测试成绩我们也可以看到这一点,在64位Windows7系统中开启最大4GB的虚拟硬盘,然后将系统的交换文件设置到虚拟硬盘中,同时将《天堂2.5》安装到虚拟硬盘中,在这种模式下我们可以看到,对虚拟硬盘来说磁盘读写性能是有巨大提升的,但是对整个系统来说,除了加载安装在虚拟硬盘中的程序时速度提升明显之外,整个系统性能并没有出现大的改观。

工程师总结(王宇)

RAID 0很有用

以前由于RAID的组建非常复杂而让很多用户望而却步,但最新的操作系统和硬件平台都让组建RAID变得非常简单了——进入BIOS设置一下,在RAID控制界面创建RAID就能够轻松启用RAID功能,不再需要额外安装驱动程序,也没有其他的应用上的麻烦,一切都跟操作普通硬盘一样。这样的设置和安装模式让RAID能够成为用户轻松拥有的磁盘模式。只要你具备一定的动手能力,手中又有两块硬盘,尤其对磁盘性能的提升非常在意,那么组建RAID 0是你最好的选择。不过,要提醒的是,一旦RAID系统崩溃可能就会丢失大量的数据(尽管这种几率非常小,但还是应该慎重),所以RAID 0系统中的重要数据平时要注意备份。

大内存虚拟缓存效果好

纵观这几种方案,我们可以发现对于提高整个系统的性能来说,将内存虚拟成磁盘缓存相对花费不高(4GB内存才100多元),效果也是相当不错的。不仅大幅提升了随机访问数据的性能,而且整个系统的运行速度也有一定的提升。整个硬盘来说,尽管1GB、2GB虚拟缓存也能带来一定的性能提升,但虚拟缓存的容量越小,对系统磁盘性能的影响也就越小,因此我们建议最好还是配备8GB以上的内存,只有这样才有足够大的内存可以设置为磁盘缓存,让系统性能出现非常明显的提升。

37-e06.jpg