在持续进行fio测试的过程中,SSD顺序读带宽会变慢

在持续进行fio测试的过程中,SSD顺序读带宽会变慢

我正在使用 fio 来测试 NVMe SSD 最大顺序读取带宽,以下是我的 fio 命令参数。

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"

一开始,fio 能达到 6400MiB/s 左右,但是运行 fio job 大约 30 秒后,fio 会降到只有 3000MiB/s 左右

我尝试将 numjobs 加速到 4,然后我将看到 fio 顺序读取带宽获得 6400MiB/s。问题是为什么 NVMe SSD 会变慢?以及为什么使用 4 个 numjobs 不会变慢? (这是一款英特尔 SSD,声称其最大顺序读取带宽为 6000MiB/s)

答案1

它看起来像是 ioengine 中的一个单线程错误——io_uring,用于基准测试。此错误已在此处报告 -https://github.com/axboe/fio/issues/1206

我建议使用 Linux 默认引擎运行基准测试 -利巴约

相关内容