我刚刚对我的 DIY NAS 进行了一些磁盘性能测试,发现我的 NVME 磁盘写入性能结果非常差!
我的 NAS 运行 Debian 10,配置如下:
- 搭载 Ryzen 5 3600 的华擎 X470D4U
- 16 Gb ECC RAM
- 1 个用于操作系统的 NVME(ADATA x8200 Pro 256MB)。这是 PCIe Gen 2 x2 插槽上的 PCIe Gen 3 x4,读取速度为 3500MB/s,写入速度为 3000MB/s。
- 软件 RAID 6 中的 4 个 SATA HDD(WD RED 10TB)
- 1 个 SATA 硬盘 (WD Green 2TB)
NVME 写入速度:320 MB/s!
# time ( dd if=/dev/zero of=test.img bs=1G count=10 status=progress ; sync )
10737418240 bytes (11 GB, 10 GiB) copied, 27 s, 399 MB/s
10+0 records in
10+0 records out
10737418240 bytes (11 GB, 10 GiB) copied, 33.5806 s, 320 MB/s
real 0m34.650s
user 0m0.001s
sys 0m8.943s
NVME 读取速度:1.7 GB/s
# /sbin/sysctl -w vm.drop_caches=3; time ( dd if=test.img of=/dev/null bs=10G count=5 status=progress )
vm.drop_caches = 3
2147479552 bytes (2.1 GB, 2.0 GiB) copied, 1 s, 1.6 GB/s
dd: warning: partial read (2147479552 bytes); suggest iflag=fullblock
10737397760 bytes (11 GB, 10 GiB) copied, 6 s, 1.7 GB/s
0+5 records in
0+5 records out
10737397760 bytes (11 GB, 10 GiB) copied, 6.27933 s, 1.7 GB/s
real 0m6.358s
user 0m0.000s
sys 0m4.593s
为了进行比较,以下是 RAID 6(5400 rpm)文件系统和单个 HDD(5400 rpm)的结果:
RAID 6 write speed : 275 MB/s
RAID 6 read speed : 290 MB/s
Single disk write speed : 120 MB/s
Single read speed : 125 MB/s
因此,我认为 NVME 驱动器的读取速度在某种程度上是正常的,因为它插在 PCIe x2 插槽而不是 x4 插槽上,所以 3500 MB/s / 2 应该接近我发现的 1.7 GB/s。但我无法解释写入时的性能不佳......
知道发生什么事了吗?
斯蒂芬
答案1
不幸的是,众所周知,消费级 SSD 的性能差异很大,很少能达到预期。存在几个问题:
- 新的 SSD 系列的第一批产品(Tom's Hardware、Anandtech、ServeTheHome 等将评测的那批产品)通常更好更快比以下批次更早。通常,几个月后硬件会完全改变(闪存类型和速度,有时甚至是控制器),但型号保持不变!
- 写入速度:有 MLC、TLC 和 QLC SSD。TLC 和 QLC 的写入性能非常低,并使用 SLC(单单元)闪存缓存,大小通常为 1 到 4 GB。只有在写入 SLC 缓存时才能获得最高写入速度;任何大于缓存的写入都会大幅减慢速度。
dd
您可以通过使用status=progress
和选项运行来检查缓存效果oflag=direct
。您会看到前 1、2 或 4 GB 的速度很高(取决于缓存大小),然后降至 TLC 或 QLC 速度(在 TLC SSD 上降至 80-100MB/s,在 QLC SSD 上甚至更低!)。