我有一个大约 8 岁的笔记本电脑硬盘驱动器。感觉硬盘很慢,很多情况下,登录后和打开应用程序等操作时,我注意到Windows任务管理器中的“活动时间”为100%。我做了一个基准测试,结果如下。
对于大约 70MB/s 的顺序读取,速度很好,但是当进行随机 R/W 时,它会下降到不到 1MB/s。这是正常的吗?还是由于某些组件损坏/磨损?
硬盘规格:
Western Digital WD5000LPVT 500GB SATA Hard Drive
Capacity: 500GB.
Speed: 5,400RPM.
Interface Types: SATA.
Form Factor: 2.5inx7mm Fits
All laptops. Sector Size: 512 / 512e.
Sustained Throughput: 147.
Electrical Interface: SATA 300 - 3.0Gbps.
On-Board Cache: 8MB.
[编辑]:上传 CrystalDiskInfo 结果
这对于 5400 rpm 磁盘上的随机 I/O 性能来说是完全正常的。一个 5400 rpm 的磁盘可以管理大约 90 IOPS,因为所需的扇区每秒只能在磁头下运行 90 次(每分钟 5400 次)。
因此,对于 4KB 块,即 4KB * 90 = 360KB/s。
这与您所看到的大致一致。
您的硬盘是 WD5000LPVT,2.5" 500GB 5400rpm 型号。
查看UserBenchmark您的结果并没有异常。随机读取结果应该在 0.1-0.5 MB/s 之间,你的还不错。UserBenchmark 随机写入为 0.76-2.3 MB/s,您的 ~0.85 处于低端,但并未超出范围。
对于此磁盘模型,这些值似乎是正常的。HDD 通常具有糟糕的随机访问结果,尤其是 5400rpm 的。
硬盘驱动器由以指定速度转动的盘片和沿盘片半径移动的读写头组成。
要读取磁盘上的随机块,需要发生两件事:
磁头需要沿着盘片的半径移动到正确的“轨道”(寻道时间)。
盘片需要旋转,直到正确的“扇区”或块位于读/写头下方(旋转延迟)。
平均随机寻道时间通常在 9 到 15 毫秒之间,具体取决于磁盘。对于这个特定的磁盘,它是12 ms。
平均随机旋转延迟直接取决于驱动器旋转速度。磁盘有多种速度,从 5400 RPM(每分钟转数)(对于较小的消费 2.5" 磁盘来说是相当标准的),到 15000 RPM 用于高端企业级磁盘。
在 5400 RPM(这意味着每秒 90 转)下,右侧块平均需要5.6 毫秒才能到达读写头下方。
这意味着平均而言,读取一个随机块将花费17.6 毫秒(不包括命令处理和数据传输本身,但相比之下这通常是花生)。
这反过来意味着每秒读取次数低于 57 次。使用基准测试使用的4K 块,即 228 KB/s 或0.228 MB/s。所以基准测试的结果实际上比理论略好!
那是用于
RND4K Q1T1
读取测试(第一个屏幕截图的左下角),这是最终的随机读取测试,每次读取都会等待其结果,然后再进行下一次读取。该
Q32T1
测试利用队列:在等待结果之前将多个读取命令(最多 32 个)发送到驱动器(一旦结果返回,就会请求新的读取,维持 32 个待处理读取的队列)。这使驱动器能够对读取进行重新排序,从而减少随机性。例如,从磁道 1 到磁道 2 的寻道时间比从第一个到最后一个更短,因此在增加的磁道上排序读取可以节省时间。如果从同一磁道读取多个块(无需搜索,您可以读取读/写头下方的第一个块),这也会有所帮助。
写入测试通常是有缺陷的,因为磁盘会缓存写入并说“是的,我知道了”,即使它还没有被写入磁盘,所以它们很难准确判断。
所以: