t/one-core.sh: Adding script to run the one-core io benchmark
authorErwan Velu <erwanaliasr1@gmail.com>
Thu, 16 Sep 2021 20:52:22 +0000 (22:52 +0200)
committerErwan Velu <erwanaliasr1@gmail.com>
Mon, 20 Sep 2021 18:03:14 +0000 (20:03 +0200)
commit0c6c0ebb82504da41ff2aa7a382923d9713b40ab
tree004d1f2c0684538c9001fd96ad59ccef94a481e4
parentf3057d268d98aeb638b659a284d087fb0c2f654c
t/one-core.sh: Adding script to run the one-core io benchmark

Associated to fio, the t/io_uring test is used to compute the max IOPS a
single core can get.

Jens published several times the procedure he uses, but trying to
reproduce this setup is error-prone. It's easy to miss a configuration
and get a different result.

This script is about setting up a common setup to reproduce these runs.

From the fio directory, execute like the folliowing :

[user@fio] t/one-core.sh /dev/nvme0n1 [other drives]
        ##################################################:
system: CPU: AMD EPYC 7502P 32-Core Processor
system: MEMORY: 2933 MT/s
system: KERNEL: 5.10.35-1.el8.x86_64
nvme0n1: MODEL=Samsung SSD 970 EVO Plus 2TB FW=2B2QEXM7 serial=S59CNM0R417706B PCI=0000:01:00.0@8.0 GT/s PCIe IRQ=64 NUMA=0 CPUS=0-23
nvme0n1: set none as io scheduler
nvme0n1: iostats set to 1.
nvme0n1: nomerge set to 0.
Warning: For better performance, you should enable nvme poll queues by setting nvme.poll_queues=32 on the kernel commande line
        ##################################################:

io_uring: Running taskset -c 0,12 t/io_uring -b512 -d128 -c32 -s32 -p1 -F1 -B1 -n4 /dev/nvme0n1
        [...]
IOPS=731008, BWPS=356 MB IOS/call=32/31, inflight=(108 127 126 106)

This script will take care of the following items:
- nvme poll queues
- io scheduler
- iostats
- io_poll
- nomerge
- finding the logical cores running on the first physical core
- cpu frequency governor on performance
- cpu idle governor on menu
- calling t/io_uring with the proper parameters in 512 bytes fashion
- reporting the nvme & pci configuration

Signed-off-by: Erwan Velu <erwanaliasr1@gmail.com>
t/one-core-peak.sh [new file with mode: 0755]