我买了WD60EZAZ用于Synology DS118NAS。我将大约 500GB 的数据放入磁盘,但是我发现读写性能非常慢。
我决定直接在磁盘上运行一些测试,以确保网络不是瓶颈。
dd
首先我尝试直接在 NAS 上运行:
dd if=1G.rnd of=/dev/null bs=8k
131072+0 records in
131072+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 14.0897 s, 76.2 MB/s
根据技术规格,磁盘传输速度应为 ~180 MB/s,但我没有观察到任何接近该速度的数据。实用程序显示只有 76 MB/s,非常低。也许问题出在 NAS 本身?
- 我决定将 HDD 连接到我的台式机,看看它作为外置 HDD 的性能如何。由于我使用的是 Mac,因此我将 HDD 连接到了 VMware Fusion 虚拟机中原始磁盘模式。虚拟机运行的是 Ubuntu 21.10,我使用磁盘实用程序执行读取测试,参数如下:
结果:
图片非常奇怪。对于驱动器的大部分,它显示的速度为 250-290 MB/s,这不切实际。对于某一部分,它显示 90-100 MB/s,这似乎合理,但与dd
NAS 上显示的速度不太接近。第三部分显示的结果非常不一致。如果我将 HDD 放在耳边,我会听到在“快速”段期间磁头不动,而在“慢速”段期间磁头会密集移动。这令人困惑,因为据我所知,在读取测试期间,它会从原始设备(而不是文件系统)读取连续的 100 MB 样本,这不应该涉及大量磁头移动(并且该理论在另一个 HDD 上得到证实)。
- 然后我使用
hdparm
一个简单的读取测试:
sudo hdparm -Tt /dev/sda1
[sudo] password for user:
/dev/sda1:
Timing cached reads: 23754 MB in 1.99 seconds = 11932.77 MB/sec
Timing buffered disk reads: 174 MB in 3.01 seconds = 57.80 MB/sec
- 然后我挂载 HDD 的最大分区并
dd
从 Ubuntu 执行类似的测试:
dd if=1G.rnd of=/dev/null bs=8k
131072+0 records in
131072+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 13.3885 s, 80.2 MB/s
与 NAS 非常相似。速度稍快一些,可能是因为 CPU 更好……
我运行的文件dd
与 NAS 中的完全相同。
结果非常不一致。摘要如下:
- NAS,dd:76 MB/s
- Ubuntu,dd:80 MB/s
- Ubuntu,hdparm:60 MB/s
- Ubuntu,磁盘基准测试:90-290 MB/s
为了进行比较,使用上述测试方法,我的另一个使用了 5 年的外置 2.5 英寸硬盘显示出一致的~100-120 MB/s 读取速度。
现在的问题:
- 我理解 HDD 读取速度取决于数据的物理位置,因此速度可能会相差 2.5 倍。规格中印有 180 MB/s 是指平均值还是最大值?
- 如何解释第 2 项中的 290 MB/s 读取速度?为什么差异如此之大?
- 读取速度测试结果令人失望。我的硬盘有问题吗?我能做些什么来修复它吗?还有其他测试建议吗?