技术解析

NVMe SSD Linux 下速度非常慢
0
2021-06-21 03:29:30
idczone

SSD 为 intel 760p 256G

OS: Manjaro 18.0.4 Illyria
Kernel: x86_64 Linux 4.19.56-1-MANJARO

fio 测试结果:

 ~  fio -rw=write -ioengine=libaio -thread -direct=1 -iodepth=64 -filename=test -size=5G -bs=4k -name=job1 -offset=0G
job1: (g=0): rw=write, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=64
fio-3.14
Starting 1 thread
job1: Laying out IO file (1 file / 5120MiB)
Jobs: 1 (f=1): [W(1)][100.0%][w=251MiB/s][w=64.2k IOPS][eta 00m:00s]
job1: (groupid=0, jobs=1): err= 0: pid=7067: Tue Jul  9 01:24:36 2019
  write: IOPS=74.2k, BW=290MiB/s (304MB/s)(5120MiB/17658msec); 0 zone resets
    slat (usec): min=3, max=11994, avg= 9.87, stdev=42.11
    clat (usec): min=53, max=56208, avg=851.55, stdev=962.45
     lat (usec): min=69, max=56212, avg=861.54, stdev=963.68
    clat percentiles (usec):
     |  1.00th=[  359],  5.00th=[  449], 10.00th=[  502], 20.00th=[  562],
     | 30.00th=[  586], 40.00th=[  603], 50.00th=[  644], 60.00th=[  685],
     | 70.00th=[  775], 80.00th=[ 1074], 90.00th=[ 1500], 95.00th=[ 1811],
     | 99.00th=[ 2835], 99.50th=[ 3392], 99.90th=[ 5145], 99.95th=[ 8455],
     | 99.99th=[51119]
   bw (  KiB/s): min=220976, max=386584, per=100.00%, avg=297250.63, stdev=49673.14, samples=35
   iops        : min=55244, max=96646, avg=74312.63, stdev=12418.26, samples=35
  lat (usec)   : 100=0.01%, 250=0.03%, 500=9.79%, 750=58.38%, 1000=10.25%
  lat (msec)   : 2=18.08%, 4=3.21%, 10=0.22%, 20=0.01%, 50=0.01%
  lat (msec)   : 100=0.01%
  cpu          : usr=10.46%, sys=47.14%, ctx=1046136, majf=0, minf=1
  IO depths    : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.1%, >=64=100.0%
     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.1%, >=64=0.0%
     issued rwts: total=0,1310720,0,0 short=0,0,0,0 dropped=0,0,0,0
     latency   : target=0, window=0, percentile=100.00%, depth=64

Run status group 0 (all jobs):
  WRITE: bw=290MiB/s (304MB/s), 290MiB/s-290MiB/s (304MB/s-304MB/s), io=5120MiB (5369MB), run=17658-17658msec

Disk stats (read/write):
  nvme0n1: ios=1/1306300, merge=0/133, ticks=0/193157, in_queue=196287, util=99.98%

还不如我另一块 SATA 接口的 MX500

试过开多线程测试,一样的结果


iodepth 试试 256 有改善吗

256 不咋滴,我在黑苹果下也是这样,用着先吧

你一个 thread 跑成这样够好了啊亲

Sorry 没看到说也测过多线程

没仔细看测试参数是不是有问题
反正大体上来说,240GB 的连通道都没满的吧,这结果估计正常了

760p 固件更新到最新然后文件系统换 F2FS 应该能有改善。
不过 256GB ……不要期待太高。



不过这速度也太坑了吧,我的另一块 sata 的 mx500 跑出来的数据也比这好看啊,4k 90k iops 顺序读写也接近 500MB

固件是 004C

有装 windows 试过吗?我准备装个 windows 看看

你的 MX500 是 256GB 么? 256GB 的闪存颗粒少了点……

MX500 是 500G,我测的是 760p 256G

尝试直接在块层而不是文件系统层进行测试。
使用 blkdiscard 等机制告知固件丢弃所有块。(非常重要)
然后测试应该是比较正确的结果。
就像你测试网速,你在 HTTP 层测试和在 IP 层测试结果肯定是不一样的。那你觉得 ISP 给你的网速是哪一层的呢。
而 SSD 这种东西,和机械硬盘还不同,在文件系统层写久了掉速太正常了,要不也就不会有 fstrim 这种东西了。

没有,单系统的

你 trim 了么?

手动 trim 之后一样的结果



760p slc 缓存写完后就只有 270M 的速度,我还以为至少有 500M 的,此贴终结

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服