2

I am using fio to test NVMe SSD max sequential read bandwidth, following is my fio command arguments.

fio -direct=1 -filename=/dev/nvme0n1 -name=nvme0n1-read_bw -rw=rw -ioengine=io_uring -rwmixwrite=0 -iodepth=256 -numjobs=1 -bs=128k -output-format=json -time_based=1 -runtime=100 -group_report -output=nvme0n1-read_bw.output"

In the beginning, fio will achieve about 6400MiB/s, but after running fio job for about 30s, fio will slow down to only about 3000MiB/s

I have tried to accelerate numjobs to 4, then i will see fio sequential read bandwidth get 6400MiB/s. The question is why NVMe SSD will slow down ? and why using 4 numjobs don't slow down ? (This is an Intel SSD,claim its max sequential read bandwidth is 6000MiB/s)

1 Answers1

2

It looks like a single thread bug in ioengine – io_uring, which is used for benchmark. The bug has been reported here - https://github.com/axboe/fio/issues/1206

I’d suggest to run benchmark with Linux default engine - libaio

batistuta09
  • 9,210