вчитался в ветку, Владимир, вроде бы вы гоняли тесты через dd большим блоком? т. е. пытались замерять линейный throughput?. а с помощью fio замеряете iops.. по поводу настроек fio - опция direct должна быть выставлена в 0. опцию ioengine я выставляю либо в posixaio, либо в sync (если мне надо проверить работу slog).
fio --directory=/mnt/datastore/tank --randrepeat=1 --ioengine=libaio --direct=0 --gtod_reduce=1 --name=fiotest --filename=testfio --bs=4k --iodepth=64 --size=8G --readwrite=randrw --rwmixread=75 --max-jobs=20
fiotest: (g=0): rw=randrw, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=64
fio-3.12
Starting 1 process
Jobs: 1 (f=1): [m(1)][99.2%][r=107MiB/s,w=35.7MiB/s][r=27.3k,w=9139 IOPS][eta 00m:01s]
fiotest: (groupid=0, jobs=1): err= 0: pid=12820: Tue May 18 11:51:09 2021
read: IOPS=12.0k, BW=50.7MiB/s (53.2MB/s)(6141MiB/121153msec)
bw ( KiB/s): min=40064, max=140064, per=99.66%, avg=51730.68, stdev=10231.54, samples=242
iops : min=10016, max=35016, avg=12932.64, stdev=2557.90, samples=242
write: IOPS=4333, BW=16.9MiB/s (17.7MB/s)(2051MiB/121153msec); 0 zone resets
bw ( KiB/s): min=13440, max=47080, per=99.67%, avg=17275.05, stdev=3400.23, samples=242
iops : min= 3360, max=11770, avg=4318.72, stdev=850.06, samples=242
cpu : usr=5.56%, sys=87.08%, ctx=24960, majf=0, minf=189
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=1572145,525007,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):
READ: bw=50.7MiB/s (53.2MB/s), 50.7MiB/s-50.7MiB/s (53.2MB/s-53.2MB/s), io=6141MiB (6440MB), run=121153-121153msec
WRITE: bw=16.9MiB/s (17.7MB/s), 16.9MiB/s-16.9MiB/s (17.7MB/s-17.7MB/s), io=2051MiB (2150MB), run=121153-121153msec