jmeter性能测试报告:为什么缓存可以加快硬盘的读写速度呢?

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/03 19:57:37
说的是实际效果,不是物理硬盘本身...
我想了解的是缓存为什么可以有加速的效果,不管是CPU还是硬盘又或是其它...我想明白的是缓存为什么有这样的效果.原理何在? 最好详细点...谢谢各位了.

请大家注意,我说的不是硬盘内部的缓存...说的是操作系统分配给出硬盘的缓存! 这个速度之差,最明显的是在DOS下的SMARTDRV...设置增加缓存和没设置缓存的效果简直就一个天一个地!!!

但我真的很不明白这是为什么...我的思路是:

物理盘片-->硬盘集成的缓存-->DMA控制电路-->系统缓存-->内存-->CPU

为什么会比

物理盘片-->硬盘集成的缓存-->DMA控制电路-->内存-->CPU

快得多呢? 难道"DMA控制电路-->系统缓存"这个过程的处理时间为负的!?

真的很不明白...

MichaelMagic 说得有点道理, 但我还是有一个问题:你说"如果每次读的数据都是新鲜的, 它不会快"但事实好像不是这样呀...比如说,在DOS下复制文件的时候,这时的情况应该每次读写的都是新鲜的数据了吧,但也明显要快上很多呀...MichaelMagic能再解释一下吗?

DMA固然快, 可它毕竟是要读磁盘的. 而像SMARTDRV这样的东西是在内存中开辟一块缓冲区, 读一次之后就把它的部分内容放到内存缓冲区里了, 以后再读时读的是内存而不是磁盘, 它当然比磁盘快很多了(你可以想像一下读盘与读内存的差别有多少个数量级). 所以如果每次读的数据都是新鲜的, 它不会快; 但对于计算机大量的读写操作来说, 重复数据是很多的. 至于写盘, 它也是可以先放在内存中, 当机器空闲时再写入, 让你感觉不到它的费时.

当然, 一般来说缓存只用于硬盘, 像软盘这样的移动的设备, 就不大合适了.

楼上各位说的都是硬件缓存, 与本问题无关.

这句话说的不完全对,这主要是由于硬盘的内部构造决定的,不过缓存大了确实好

计算机通过IDE接口从硬盘的缓存中将数据读出交给相应的控制器的速度与硬盘将数据从盘片上读取出交给硬盘上的缓冲存储器的速度相比,前者要比后者快得多

硬盘要买还是8M缓存的吧

内部读写速度没什么区别,相差不多。