V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
littlewing
V2EX  ›  Linux

NVMe SSD Linux 下速度非常慢

  •  
  •   littlewing · 2019-07-09 10:52:29 +08:00 · 5789 次点击
    这是一个创建于 1724 天前的主题,其中的信息可能已经有所发展或是发生改变。

    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

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

    第 1 条附言  ·  2019-07-09 13:04:08 +08:00
    760p 官方数据
    4K 随机读 340k IOPS
    4k 随机写 275k IOPS

    顺序写 1625MB/s
    顺序读 3230 MB/s

    我这结果差老远了
    第 2 条附言  ·  2019-07-10 09:59:17 +08:00
    760p slc 缓存写完后就只有 270M 的速度,我还以为至少有 500M 的,此贴终结
    第 3 条附言  ·  2019-07-10 11:42:48 +08:00
    mx 500 似乎是所谓的动态缓存,据说空盘有 30 多个 G ?不太懂
    16 条回复    2019-07-10 09:58:44 +08:00
    aaaassss
        1
    aaaassss  
       2019-07-09 14:25:15 +08:00
    iodepth 试试 256 有改善吗
    fuckshiter
        2
    fuckshiter  
       2019-07-09 14:31:02 +08:00 via iPhone
    256 不咋滴,我在黑苹果下也是这样,用着先吧
    mind3x
        3
    mind3x  
       2019-07-09 14:39:30 +08:00
    你一个 thread 跑成这样够好了啊亲
    mind3x
        4
    mind3x  
       2019-07-09 14:42:56 +08:00
    Sorry 没看到说也测过多线程
    realpg
        5
    realpg  
       2019-07-09 14:43:51 +08:00
    没仔细看测试参数是不是有问题
    反正大体上来说,240GB 的连通道都没满的吧,这结果估计正常了
    ZhiyuanLin
        6
    ZhiyuanLin  
       2019-07-09 14:51:29 +08:00
    760p 固件更新到最新然后文件系统换 F2FS 应该能有改善。
    不过 256GB ……不要期待太高。
    littlewing
        7
    littlewing  
    OP
       2019-07-09 15:29:44 +08:00 via iPhone
    @ZhiyuanLin
    @realpg
    @fuckshiter 不过这速度也太坑了吧,我的另一块 sata 的 mx500 跑出来的数据也比这好看啊,4k 90k iops 顺序读写也接近 500MB
    littlewing
        8
    littlewing  
    OP
       2019-07-09 15:37:25 +08:00 via iPhone
    @ZhiyuanLin 固件是 004C
    littlewing
        9
    littlewing  
    OP
       2019-07-09 15:37:55 +08:00 via iPhone
    @fuckshiter 有装 windows 试过吗?我准备装个 windows 看看
    ZhiyuanLin
        10
    ZhiyuanLin  
       2019-07-09 18:56:13 +08:00
    @littlewing 你的 MX500 是 256GB 么? 256GB 的闪存颗粒少了点……
    littlewing
        11
    littlewing  
    OP
       2019-07-09 19:09:47 +08:00
    @ZhiyuanLin MX500 是 500G,我测的是 760p 256G
    iwtbauh
        12
    iwtbauh  
       2019-07-09 23:43:44 +08:00 via Android
    尝试直接在块层而不是文件系统层进行测试。

    使用 blkdiscard 等机制告知固件丢弃所有块。(非常重要)

    然后测试应该是比较正确的结果。

    就像你测试网速,你在 HTTP 层测试和在 IP 层测试结果肯定是不一样的。那你觉得 ISP 给你的网速是哪一层的呢。

    而 SSD 这种东西,和机械硬盘还不同,在文件系统层写久了掉速太正常了,要不也就不会有 fstrim 这种东西了。
    fuckshiter
        13
    fuckshiter  
       2019-07-10 02:20:38 +08:00 via iPhone
    @littlewing 没有,单系统的
    Sasasu
        14
    Sasasu  
       2019-07-10 08:50:19 +08:00 via Android
    你 trim 了么?
    littlewing
        15
    littlewing  
    OP
       2019-07-10 09:25:40 +08:00
    @Sasasu 手动 trim 之后一样的结果
    littlewing
        16
    littlewing  
    OP
       2019-07-10 09:58:44 +08:00 via iPhone
    @iwtbauh
    @Sasasu
    760p slc 缓存写完后就只有 270M 的速度,我还以为至少有 500M 的,此贴终结
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2998 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 14:51 · PVG 22:51 · LAX 07:51 · JFK 10:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.