fio-plot: bench-fio fails with error: fio: failed parsing size= parameter

Hello, I’m trying to execute this command bench-fio --target /mnt/hdd/fio --output CCLOUD_HDD --type file --mode randread,randwrite,randrw --rwmixread 75 --size 10G --block-size 4k,64M --iodepth 1 --numjobs 1 --direct 1 --engine libaio --precondition --runtime 60 --destructive --extra-opts norandommap=1 refill_buffers=1 but it fails with error:

                                                   +++ Fio Benchmark Script +++

Estimated duration            : 0:01:00
Test target                   : /mnt/hdd/fio
Job template                  : /home/ccloud/.local/lib/python3.10/site-packages/bench_fio/benchlib/../templates/fio-job-template.fio
I/O Engine                    : libaio
Test mode (read/write)        : randread,randwrite,randrw
IOdepth to be tested          : 1
NumJobs to be tested          : 1
Block size                    : 4k,64M
Direct I/O                    : 1
Specified test data size      : 10G
Run precondition workload     : True
Output folder                 : CCLOUD_HDD
Precondition template         : /home/ccloud/.local/lib/python3.10/site-packages/bench_fio/benchlib/../templates/precondition.fio
Time duration per test (s)    : 60
Benchmark loops               : 1
Extra custom options          : norandommap=1 refill_buffers=1
Log interval of perf data (ms): 1000
Invalidate buffer cache       : 1
Allow destructive writes      : True
Target type                   : file
Number of benchmarks          : 1

█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
   0% |                         | -   [0:00:00, -:--:--]
An error occurred: fio: failed parsing rw=${MODE}
fio: job iotest dropped -

Can you please advise how to fix this? And I wonder why parameter --rwmixread 75 is not reflected in output.

About this issue

  • Original URL
  • State: closed
  • Created a year ago
  • Comments: 34 (20 by maintainers)

Commits related to this issue

Most upvoted comments

@6meon Ok I undestand. For now I just advise to test without the precondition parameter. If you really want to explore a worst-case scenario with preconditioning, you have to backup the data from the volume (if any) and target the raw device.

The next best thing is to just keep working with target is file/directory but choose larger file sizes to mimic a filled storage device and see if you notice any performance impact. In this case you don’t want to run with time-based but run the benchmark until all sectors are written to and Fio will automatically stop once that goal is achieved.

To be frank, I don’t want to “manually” (through bench-fio) pre-allocate files to support the precondition step because I strongly feel that running the precondition workload on files is not the intended use-case and may lead to incorrect results.