下面的测试由专门网的Drifter网友所作并进行总结,在此一并表示感谢。
文件拷贝测试方法与环境
用软件测完后, 对照spec, 可以基本看出二块硬盘的性能了. 但是, 测试软件的工作条件与实际工作情况往往是有很大的区别的. 这就是为什么软件测出来的结果有时与我们的主观感觉不那么一致的原因.
针对这个现象, 我设计了简单的环境, 尽量模拟硬盘的实际工作情况做一些进一步的测试, 看看能得出什么样的结果.
下面先介绍一下测试的方法和设置.
作为硬盘, 最重要的性能指标当然还是速度. 所以这个测试的目的是针对文件的传输的. 根据不同的条件又分成二种情况. 一种是单个大文件的拷贝, 这个主要是考验硬盘的平均呑吐能力, 当硬盘主要存放大量的数据文件时的性能. 另一种是很多个小文件时的表现. 这个时候是存取时间的影响大些, 在硬盘作为系统盘时, 往往就工作在这样的条件下.
为了往一个硬盘写或从硬盘读数据, 一定需要另一个地方来作为源或目的地. 通常是用另一个分区或另一个硬盘来做这件事情, 但很明显, 另一个硬盘的速度对结果也有很大的影响. 所以, 我想要有一个比硬盘快很多(10倍以上)的数据存放区来与硬盘对拷数据. 刚好看到这个:http://www.thinkpad.cn/forum/thread-358197-1-1.html, 我觉得可以很好地满足我的要求. (在此感谢风暴大海网友). 用这个软件虚拟一个700M的硬盘, 采用的数据文件是一个XPCN_SP2.ISO作为单个大文件, 把它释放出来后的实际安装文件作为小文件. 二次的文件情况如下图所示.
其间又遇到系统的硬盘缓冲问题. 就是在读写过一次后, 有部分内容会被系统缓冲起来. 下次再读写的时候就变快了. 本来想找一个可以清除这个缓冲器的软件,结果找不到. 后来就用了那个虚拟硬盘自动载入境像的功能来绕过这个问题. 麻烦就是每测一次就要重新启动系统.
还有一个附带的问题. 因为我的7K100里面已经有数据了. 特别是C盘, 我分了30G, 用了15G. 这样写入的时候就不是在最头上了. 对速度稍有影响. 当然最理想应该是把硬盘清空, 太会影响到我的使用, 所以没有这样做, 只是采取了一个措施, 来尽量作一个对等的比较. 具体来说就是这样. 首先对这个分区作一个简单的整理, 把所有的文件集中在前面, 这样后面写入的文件就大概在15G开始的地方. (同时通过有关软件证明这一点). 对于5400.3, 先在前面15%的地方(22.5G)分一个区, 然后跟着再分一个30G的区, 测试的数据就写入这第二个30G的分区, 也就是说, 测试的数据也差不多是写在整个硬盘的15%的位置上.
虚拟硬盘的读写速度
7K100写入前的文件分布
7K100写入测试文件后的文件分布
测试用的大文件
测试用的小文件
测试结果
从上面的结果来看, 有几点:
1) 7K100 还是比5400.3快那么一点点. 但只是一点点而已. 特别是在多个文件的情况下,差别微乎其微.
2) 在单个大文件的时候, 读出比写入还慢一点. 通常认为写入应该慢一点. 我认为这个结果是因为那个虚拟硬盘引起的. 大家记得的话, 那个虚拟硬盘的读取速度速度达1.3G/S, 而写入速度只有490M/S. 这里硬盘的平均速度大概在40M/S的水平, 虚拟硬盘虽然已经快了11倍, 但我认为还是有一点影响(十分之一到几十分之一的水平). 所以造成了这个结果.
3) 单个大文件的时候, 吞吐率确实可以达到测试软件的结果的水平, 如7K100达到44M/S, 而5400.3达到38.8M/S. 但是当多个小文件的时候, 这个最大速度其实不可能达到的. 在我们的情况里, 平均值为17M/S. 而且二者的差异几乎可以忽略不计了. 因为小文件的时候, 寻道占的时间大大增加了. 这也同时说明了硬盘的最大性能的增加与用户的主观体验没有同步提高的原因.
4) 虽然5400.3是5400转而7K100是7200转, 但由于记录密度的大幅度提高, 二块硬盘在实际使用中的性能应该是非常接近的.
|