廉价 SSD:速度慢的问题

廉价 SSD:速度慢的问题

今年年初,我买了一款便宜的 SSD SomnAmbulist 120GB。经过几次基准测试后,我注意到一些奇怪的吞吐量测量值。简要来说:

  • 初始基准|图像
    格式化后,吞吐量符合广告宣传的规格,读取速度为 510MB/s,写入速度为 440MB/s。
    写入容量达到 35% 时吞吐量开始下降,稳定在读取速度为 200~300MB/s,写入速度为 40MB/s。
    虽然卖家的广告中没有提到这种下降,但这确实是预期行为,空闲几分钟后(将缓存刷新到永久区域)应该会恢复正常。

  • 闲置 1 小时后的基准测试|图像
    不幸的是,吞吐量还没有恢复正常(还没有?)。
    读取速度为 315MB/s,写入速度为 440MB/s,在写入 10% 容量时速度就开始下降。

  • 闲置 12 小时后的基准测试|图像
    吞吐量仍未恢复正常。

问题

  1. 对于如此便宜的 SSD 来说,这是预期的行为吗,或者确实有什么奇怪的?
  2. 这里可能出了什么问题?
  3. 知道如何解决这个吞吐量问题吗?

调试信息

  • 支持 SSD/TRIM
  • 已启用 fstrim
  • 不支持 SSD APM(高级电源管理)
  • f3(打击 Flash 欺诈)OK
## SSD/TRIM SUPPORTED
root@debian:~# hdparm -I /dev/sda | grep -i "trim\|power"
       *    Power Management feature set
       *    Data Set Management TRIM supported (limit 8 blocks)
       *    Deterministic read data after TRIM


## SSD/TRIM AVAILABLE (DISC-MAX NON ZERO)
root@debian:~# lsblk -D /dev/sda
NAME DISC-ALN DISC-GRAN DISC-MAX DISC-ZERO
sda         0      512B       2G         0


## ADVANCED POWER MANAGEMENT NOT SUPPORTED
root@debian:~# hdparm -B /dev/sda

/dev/sda:
 APM_level  = not supported



## FSTRIM ENABLE

root@debian:~# systemctl status fstrim.timer
● fstrim.timer - Discard unused blocks once a week
     Loaded: loaded (/lib/systemd/system/fstrim.timer; enabled; vendor preset: enabled)
     Active: active (waiting) since Sat 2022-12-03 03:36:10 UTC; 35min ago
    Trigger: Mon 2022-12-05 00:51:25 UTC; 1 day 20h left
   Triggers: ● fstrim.service
       Docs: man:fstrim

Dec 03 03:36:10 debian systemd[1]: Started Discard unused blocks once a week.


root@debian:~# systemctl status fstrim
● fstrim.service - Discard unused blocks on filesystems from /etc/fstab
     Loaded: loaded (/lib/systemd/system/fstrim.service; static)
     Active: inactive (dead)
TriggeredBy: ● fstrim.timer
       Docs: man:fstrim(8)


root@debian:~# fstrim -av

相关内容