![外部磁盘驱动器的写入性能在一段时间后会下降。可能是什么原因?](https://linux22.com/image/745860/%E5%A4%96%E9%83%A8%E7%A3%81%E7%9B%98%E9%A9%B1%E5%8A%A8%E5%99%A8%E7%9A%84%E5%86%99%E5%85%A5%E6%80%A7%E8%83%BD%E5%9C%A8%E4%B8%80%E6%AE%B5%E6%97%B6%E9%97%B4%E5%90%8E%E4%BC%9A%E4%B8%8B%E9%99%8D%E3%80%82%E5%8F%AF%E8%83%BD%E6%98%AF%E4%BB%80%E4%B9%88%E5%8E%9F%E5%9B%A0%EF%BC%9F.png)
我有一个外置 USB 3“旋转生锈”2.5 英寸硬盘。
西部数据序列号查询显示这是一个型号WDBYNN0010BBL, “WD My Passport (Ultra) 便携式存储,蓝色”。1 TB = 931.48 GB,便宜又好用。没有数据表。WD 仪表软件无法找到有关机箱中实际硬盘的更多信息。
虽然是USB 3,但是我把它连接到PC上的USB 2接口(这是一台旧PC)。
我正在用半随机数据填充磁盘,直接写入分区(即/dev/sdd1
在 Linux 中)。
问题:
最初,编写程序报告写入性能约为 28 MiB/s(远低于USB 2,50.7 MiB/秒)。
写入程序除了写入一块数据然后同步之外什么也不做。
一旦写入了大约 7 GiB,写入性能就会变得不稳定并开始在 8 MiB/s 和 28 MiB/s 之间波动。
写入约 115-120 GiB 后,写入性能进一步下降,持续徘徊在 6 MiB/s 左右,写入几百 MiB 时暂时降至 2 MiB/s。
但是,一旦暂停程序半分钟(CTRl-Z)然后恢复,写入性能就会回升至 28 MiB/s。一段时间后,性能再次下降。
问题:
此磁盘的构造是否导致写入速度只能达到可接受的短时间突发?它是否通过拥有较大的内部(非易失性)缓存来假装速度很快?
我有许多其他外部 USB 磁盘(一些来自 WD,但没有一个是完全相同的型号),它们都能够维持 10+ MiB/s 的写入速度,这至少使备份可行,因为它们可以在一个下午而不是 24 小时内运行。
更新 #1
它还运行最新的固件 v1.019,符合 Windows 的“WD 固件更新程序”)
更新 #2
Windows 版“WD Drive Utilities”表示已通过 SMART 测试、“快速驱动器测试”和“完整驱动器测试”。太棒了!
更新 #3
通过 USB3 接口在另一台 Linux 机器上填充磁盘会将写入吞吐量提升至 100 MiB/s。然而,衰减仍然存在,降至 33 MiB/s 甚至 9 MiB/s,因此在操作结束时,整个磁盘的平均写入吞吐量仅为 30 MiB/s。
更新 #4
smartctl --all /dev/sdd
揭示了:
Device Model: WDC WD10SDZW-11UMGS0
Serial Number: WD-WXT1A57EU75S
LU WWN Device Id: 5 0014ee 607b8ce4a
Firmware Version: 01.01A01 <--- HUH? I thought it was 01.019??
User Capacity: 1,000,171,331,584 bytes [1.00 TB]
Sector Sizes: 512 bytes logical, 4096 bytes physical
Rotation Rate: 5400 rpm
Form Factor: 2.5 inches
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: ACS-3 T13/2161-D revision 5
SATA Version is: SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Sun Dec 8 12:58:26 2019 CET
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
所有离线测试均通过,重新分配的扇区数为 0(尽管这可能意义不大)。
答案1
性能下降的原因可能有很多,但我知道,随着写入驱动器的数据越多,性能就会稳步下降。
我的第一个想法是它可以有一些坏扇区,但我只会在几个点上阻碍速度,并且不会那么一致。
尝试将驱动器连接到另一台计算机并测试其性能。但是 USB 2.0 的吞吐量不能太大。40MB/s 实际上是最大值,是廉价驱动器典型值的一半。
在 USB 2.0 和 3.0 上进行测试(如果可以的话),但至少在另一台(或两台)机器上进行测试。如果问题出现在其他机器上,那么我认为驱动器本身有问题。如果没有提到新固件可以解决您遇到的问题,请查看 WD 的页面。
答案2
可能的根本原因有很多:
驱动程序或控制器不稳定:USB 协议(以及廉价的实现)在稳定性方面名声不佳。也许某些东西被淹没了,需要一些时间才能恢复;
SMR HDD:基于叠瓦式磁记录的硬盘通常有一些快速(或着陆)PMR 区域与较大的慢速或叠瓦式区域混合。如果着陆区域已完全填满,则需要将其刷新到叠瓦式区域,这需要时间(在此期间磁盘会显示为“冻结”或非常慢);
坏扇区遍布磁盘表面。
你能发布一下输出吗smartctl --all <dev>
?请在另一台计算机上尝试同一个磁盘:它的表现会有所不同吗?