如何解决此 HDD 性能问题?

如何解决此 HDD 性能问题?

我买了WD60EZAZ用于Synology DS118NAS。我将大约 500GB 的数据放入磁盘,但是我发现读写性能非常慢。

我决定直接在磁盘上运行一些测试,以确保网络不是瓶颈。

  1. 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 本身?

  1. 我决定将 HDD 连接到我的台式机,看看它作为外置 HDD 的性能如何。由于我使用的是 Mac,因此我将 HDD 连接到了 VMware Fusion 虚拟机中原始磁盘模式。虚拟机运行的是 Ubuntu 21.10,我使用磁盘实用程序执行读取测试,参数如下:

在此处输入图片描述

结果:

在此处输入图片描述

图片非常奇怪。对于驱动器的大部分,它显示的速度为 250-290 MB/s,这不切实际。对于某一部分,它显示 90-100 MB/s,这似乎合理,但与ddNAS 上显示的速度不太接近。第三部分显示的结果非常不一致。如果我将 HDD 放在耳边,我会听到在“快速”段期间磁头不动,而在“慢速”段期间磁头会密集移动。这令人困惑,因为据我所知,在读取测试期间,它会从原始设备(而不是文件系统)读取连续的 100 MB 样本,这不应该涉及大量磁头移动(并且该理论在另一个 HDD 上得到证实)。

  1. 然后我使用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
  1. 然后我挂载 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 读取速度。

现在的问题:

  1. 我理解 HDD 读取速度取决于数据的物理位置,因此速度可能会相差 2.5 倍。规格中印有 180 MB/s 是指平均值还是最大值?
  2. 如何解释第 2 项中的 290 MB/s 读取速度?为什么差异如此之大?
  3. 读取速度测试结果令人失望。我的硬盘有问题吗?我能做些什么来修复它吗?还有其他测试建议吗?

相关内容