阅读:1177回复:8
如何提高大数据量读硬盘的速度?
有个项目,设计要求每12秒要从硬盘读出64M数据,这些数据分属于32个文件。
我现用的机器配置是:速龙1.113GCPU,128MDDR存储器,K7VTA3主板,希捷5400转速40G硬盘,WIN2K_PROFESSIONAL。 用DISKSPEED32实测本机硬盘的速度,平均值为26M字节/秒。 用VC6写了个与应用接近的测试程序,也就是从32个文件,每个文件中读出2M字节数据,结果发现第一次读,读完64M数据竟然要用近15秒时间,再往后的读操作,耗时约在9秒左右。平均速度只有7M/S左右。 这个速度实在让人担心,测试软件一开始用的是MGC的CFILE类,后来改用API直接访问文件,也没有改观! 有没有什么好办法可以提高硬盘的速度?有没有硬盘加速卡之类的东西? |
|
|
沙发#
发布于:2003-01-30 10:10
试试DMA 或 PIO
|
|
板凳#
发布于:2003-02-04 13:00
你这基本是极限了,在WIN2K下难,因为你不知道NTFS没法用DMA直接读盘。除非用FAT格式,自编驱动。
给个土方法不妨试试:大缓冲,多硬盘(注意把数据调度均匀)。 |
|
地板#
发布于:2003-02-04 16:13
X_ray兄:谢谢您。
自己编驱动也许是个办法,但就算熟悉NTFS,也不一定是个好办法。我现在在考虑用磁盘阵列来做,如果使用4通道RAID0模式,可以实现4倍速硬盘访问,如果用01或10模式,数据可靠性还能增加许多。 我的钱多多,我不在乎用多少块硬盘!呵呵呵。 |
|
|
地下室#
发布于:2003-02-08 11:26
我不是搞这个的。不过,用scci和阵列都会比普通的坏,我们公式就是用阵列的,它的成本比scci便宜。
|
|
5楼#
发布于:2003-02-11 20:37
tqyjk兄把我搞糊涂了,\"比普通的坏\"是什么意思?速度更慢还是可靠性下降?
|
|
|
6楼#
发布于:2003-02-12 15:47
用户被禁言,该主题自动屏蔽! |
|
7楼#
发布于:2003-02-15 12:14
是快。用普通ide的硬盘组成raid0的阵列也比普通ide快,而且比scsi便宜。不过速度你要测试一下才知道是不是适合你的要求
|
|
8楼#
发布于:2003-02-17 14:04
如果不缺钱的话,建议用SCSI-3标准的硬盘,
|
|