Re: Call for testers with NVMe

From: Abdelkader Boudih <freebsd_at_seuros.com>
Date: Wed, 02 Sep 2026 16:44:57 UTC
> Do you have any sugestion about what tool to test before and after nvme patch so a comparison could be done?
> dd, fio, bonnie, etc, It would be nice that people share his experience using same tools.
> Thanks for your work,

What important for us is that nothing regress and that we catch any disk will stop working because it needs a quirk , like it happened with the S3X.

For the tests , i have disposable disk  (no data, so i went with full chaos mode by writing, reading, deleting with a bash script ).

nvmecontrol perftest -n 4 -o read  -s 4096   -t 30 nvme0ns1
nvmecontrol perftest -n 1 -o read  -s 131072 -t 30 nvme0ns1

for real work load : pkg install fio

# 4k random read, deep queue: where a tracker-count change would show up
    fio --name=rr --filename=/dev/nvme0ns1 --ioengine=posixaio --direct=1 --rw=randread --bs=4k --iodepth=32 --numjobs=1 --runtime=60 --time_based --group_reporting --percentile_list=50:99:99.9

# QD1 latency: sensitive to per-command overhead, insensitive to queueing
fio --name=qd1 --filename=/dev/nvme0ns1 --ioengine=psync --direct=1 --rw=randread --bs=4k --iodepth=1 --runtime=60 --time_based

# sequential, to catch a max_xfer / segmentation regression
fio --name=seq --filename=/dev/nvme0ns1 --ioengine=posixaio --direct=1 --rw=read --bs=1m --iodepth=8 --runtime=60 --time_based

You have to watch your nvme temperature with 'nvmecontrol logpage -p 2 nvme0'. When they get too hot (over 70C) they throttle performance. a heatsink helps.

Always run it 3/4 times, then take the median. In a cold weather , on a coldboot, you can get near spec top performance, (my NVME is rated at 14GB/s but i get 12GB/s max)

To test with old defaults : 
nextboot -k kernel -e hw.nvme.io_trackers=1024 -e hw.nvme.arb_burst=1  (0-7)