跳到主要内容

fio 结果

productmodelvolumnprofilereadread iopswritewrite iopsnote
SanDisk Ultra FlairCZ73rnd4kq1t14.2 MB/s10741.8 MB/s452
seq512kq1t1108 MB/s20515.9 MB/s30
SanDisk Ultra FitCZ430rnd4kq1t15.4 MB/s13121.4 MB/s339
seq512kq1t1112 MB/s21230.5 MB/s58
SanDisk ExtremeCZ810rnd4kq1t110.0 MB/s24515 KB/s1
seq512kq1t1360 MB/s68683.3 MB/s158
Intel SSD 660PSSDPEKNW512G8512Grnd4kq1t163.2 MB/s15.4k288 MB/s73.6k
seq512kq1t11047 MB/s1996929 MB/s1771
KIOXIAEXCERIA SATA SSD240Grnd4kq1t134.9MB/s852529.8MB/s7275
rnd4kq32t4238MB/s58.2k52.5MB/s12.8k
seq1mq1t1296MB/s28225.9MB/s24
LexarLJDS4764Grnd4kq1t117 MB/s41538.5 MB/s2131
rnd128kq1t198.3 MB/s74917.6MB/s134
seq1mq1t1178 MB/s16926.6 MB/s25
seq128kq1t1240 MB/s182925.8 MB/s196exfat
seq1mq1t1247 MB/s23526.5MB/s25exfat
LexarLJDM4564Grnd4kq1t113.4MB/s32778709kB/s2126exfat
rnd128kq1t162.4MB/s47617.7MB/s135exfat
seq1mq1t1177MB/s16825.3MB/s24exfat
seq128kq32t4185MB/s141226.2MB/s199exfat
seq1mq32t1185MB/s17625.5MB/s24exfat
提示
  • IOPS=BandWidth/BlockSize
    • 例如 4MB/s ÷ 4KB = 1000 io/s
  • 随机关心 IOPS,顺序关心 带宽
    • IOPS - IO/s - 随机、小块 4-8k
    • 带宽/吞吐 - MB/s - 顺序、大块 >= 64k
  • 测试默认 ext4 - 测试 raw disk 速率意义不大
    • 因此测试结果与官方有一定偏差
    • ext4 一般默认 blocksize 为 4k
  • 闪存盘一般 物理 blocksize 为 128KB - block 内 page 2KB, 不支持随机写
    • 因此 4k 随机/顺序 都会慢
    • extfat 顺序能测出逻辑最大性能 - blocksize 默认 128 KB
  • 测试的 BW 和 IOPS 只能作为 基本参考
    • 影响因素还包括
      • 更长的持续 IO 时间
      • latency
      • latency 分布
      • 温度
  • CZ73 - USB 3.0
  • CZ430 - USB 3.1
  • CZ810 - USB 3.2 Gen 1
    • 定位特殊,速率差距很大
  • LJDM45
    • 标称速度 250MB - 同 LJDS47
    • 但速度压不上去
  • SSDPEKNW512G8 - 3D2 QLC
  • KIOXIA-EXCERIA SATA SSD
    • BiCS FLASH™ TLC
  • SanDisk 是 WD 旗下品牌 - 2016 收购
  • SamSung FITPlus
    • USB 3.1
    • 32G 200MB
    • 64G 300MB
    • 128G 400MB
    • 256G 400MB
  • SSD 的 IOPS 和容量相关
  • CrystalDiskMark 常见测试
    • RND4KQ1T1
    • RND4KQ32T4 - Random 4K Queue 32 Thread 4
    • SEQ1MQ1T1
    • SEQ1MQ8T1 - Sequential 1M
    • SEQ1MQ32T1 - SSD 测 BW 常用
    • RND4KQ32T8 - SSD 测 IOPS 常用
      • 4KQD32
  • QD - Queue Depth
productinterfaceTBW
KIOXIA EXCERIA SATA SSDSATA240 TB
KIOXIA EXCERIA SSDNVMe400 TB
KIOXIA EXCERIA PLUS SSDNVMe800 TB
Intel SSD 660P SSDPEKNW512G8NVMe100 TB

microSD

  • SAMSUNG EVO PLUS
  • Lexar 660x
  • Lexar 1066x
# echo seq512k-w seq512k-r | tr ' ' '\n'  | xargs -I {} fio fio.conf --section {} --output {}.out
# egrep '^.*?: \(groupid' *.out -A 1
fio fio.conf --output fio.out --section={rnd4k,rnd128k,seq1m}-{w,r}
egrep '^.*?: \(groupid' fio.out -A 1

配置

fio.conf
[global]
direct=1
fsync=1
ioengine=io_uring
#ioengine=libaio
#ioengine=sync
numjobs=1
runtime=60
size=1g
time_based
filename=fio-file
group_reporting
stonewall

[rnd4k-w]
bs=4k
rw=randwrite

[rnd4k-r]
bs=4k
rw=randread

[rnd128k-w]
bs=128k
rw=randwrite

[rnd128k-r]
bs=128k
rw=randread

[rnd4kq32t1-w]
bs=4k
rw=randwrite
ioengine=io_uring
iodepth=32
numjobs=1

[rnd4kq32t1-r]
bs=4k
rw=randread
ioengine=io_uring
iodepth=32
numjobs=1

[rnd4kq32t4-w]
bs=4k
rw=randwrite
ioengine=io_uring
iodepth=32
numjobs=4

[rnd4kq32t4-r]
bs=4k
rw=randread
ioengine=io_uring
iodepth=32
numjobs=4

[seq128k-w]
bs=128k
rw=write

[seq128k-r]
bs=128k
rw=read

[seq128kq32t4-w]
bs=128k
rw=write
ioengine=io_uring
iodepth=32
numjobs=4

[seq128kq32t4-r]
bs=128k
rw=read
ioengine=io_uring
iodepth=32
numjobs=4

[seq512k-w]
bs=512k
rw=write

[seq512k-r]
bs=512k
rw=read

[seq1m-w]
bs=1m
rw=write

[seq1m-r]
bs=1m
rw=read

[seq1m-w]
bs=1m
rw=write

[seq1mq32t1-r]
bs=1m
rw=read
ioengine=io_uring
iodepth=32
[seq1mq32t1-w]
bs=1m
rw=write
ioengine=io_uring
iodepth=32