FIO Performance Test Cases

AI Tools

The included FIO tests are detailed below.

4K Random (50/50) Read and Write Performance Test

This tests IOPS and latency performance of 4K random 50/50 read and write tests, under different pressures.

Test Parameters:

  • bs: 4K

  • rw: randrw

  • numjobs: the number of cores of the client server CPU.

  • iodepth: can be obtained by adjusting different iodepth tests of the latency performance test, under different pressures.

[global] ramp_time=0 rw=randrw # WRITE rwmixread=50 # When using randrw in the line above refill_buffers loops=1 buffer_compress_percentage=50 buffer_compress_chunk=4096 direct=1 norandommap=1 time_based cpus_allowed_policy=split log_avg_msec=1000 numjobs=12 cpus_allowed=0-11 iodepth=32 randrepeat=0 ioengine=libaio group_reporting=1 runtime=300 bs=4k [job_1] filename=/dev/nvme0n1

4K Random (70/30) Read and Write Performance Test

This tests IOPS and latency performance of 4K random 70/30 read (70%) and write (30%) tests, under different pressures.

Test Parameters:

  • bs: 4K

  • rw: randrw

  • numjobs: the number of cores of the client server CPU.

  • iodepth: can be obtained by adjusting different iodepth tests of the latency performance test, under different pressures.

[global] ramp_time=0 rw=randrw # WRITE rwmixread=70 # When using randrw in the line above refill_buffers loops=1 buffer_compress_percentage=50 buffer_compress_chunk=4096 direct=1 norandommap=1 time_based cpus_allowed_policy=split log_avg_msec=1000 numjobs=12 cpus_allowed=0-11 iodepth=32 randrepeat=0 ioengine=libaio group_reporting=1 runtime=300 bs=4k [job_1] filename=/dev/nvme0n1

4K Random Read Performance Test

This tests IOPS and latency performance of 4K random read, under different pressures.

Test Parameters:

  • bs: 4K

  • rw: randread

  • numjobs: the number of cores of the client server CPU.

  • iodepth: can be obtained by adjusting different iodepth tests of the latency performance test, under different pressures.

[global] ramp_time=0 rw=randread refill_buffers loops=1 buffer_compress_percentage=50 buffer_compress_chunk=4096 direct=1 norandommap=1 time_based cpus_allowed_policy=split log_avg_msec=1000 numjobs=12 cpus_allowed=0-11 iodepth=32 randrepeat=0 ioengine=libaio group_reporting=1 runtime=300 bs=4k [job_1] filename=/dev/nvme0n1

4K Random Write Performance Test

This tests IOPS and latency performance of 4K random write, under different pressures.

Test Parameters:

  • bs: 4K

  • rw: randwrite

  • numjobs: the number of cores of the client server CPU.

  • iodepth: can be obtained by adjusting different iodepth tests of the latency performance test, under different pressures.

[global] ramp_time=0 rw=randwrite refill_buffers loops=1 buffer_compress_percentage=50 buffer_compress_chunk=4096 direct=1 norandommap=1 time_based cpus_allowed_policy=split log_avg_msec=1000 numjobs=12 cpus_allowed=0-11 iodepth=32 randrepeat=0 ioengine=libaio group_reporting=1 runtime=300 bs=4k [job_1] filename=/dev/nvme0n1

128K Bandwidth Performance Test

This tests the highest bandwidth that can be obtained in different IO scenarios.

Test Parameters:

  • bs: 4K

  • rw: randrw

  • numjobs: The number of cores of the client server CPU.

  • iodepth: The highest IOPS that can be obtained by adjusting different iodepth tests. This is generally 1 or 2; i.e., testable.

[global] ramp_time=0 rw=randwrite # WRITE #rwmixread=100 # When using randrw in the line above refill_buffers loops=1 buffer_compress_percentage=50 buffer_compress_chunk=4096 direct=1 norandommap=1 time_based cpus_allowed_policy=split log_avg_msec=1000 numjobs=12 cpus_allowed=0-11 iodepth=2 randrepeat=0 ioengine=libaio group_reporting=1 runtime=300 bs=128k [job_1] filename=/dev/nvme01