Closed cmonty14 closed 1 year ago
Thanks for your report, that clearly looks like an int that is parsed as something else.
My understanding of the root cause is:
combination of mode = randread,randwrite,randrw
is not working.
Single mode = randrw
+ rwmixread = 75
works as expected.
@louwrentius I run into this issue this afternoon, is it ok to change the code in "bench_fio/benchlib/defaultsettings.py"?
listtypes = ['target','mode','block_size', 'iodepth', 'numjobs','extra_opts']
to
listtypes = ['target','mode','block_size', 'iodepth', 'numjobs','extra_opts', 'rwmixread']
Hope a stable project and then could help me in my work! Thanks to this project.
You were faster than me, I just found the same cause and was about to share it here. Thank you for testing.
└── randrw75 └── 4k ├── randrw-1-1.json ├── randrw-iodepth-1-numjobs-1_bw.1.log ├── randrw-iodepth-1-numjobs-1_clat.1.log ├── randrw-iodepth-1-numjobs-1_iops.1.log ├── randrw-iodepth-1-numjobs-1_lat.1.log └── randrw-iodepth-1-numjobs-1_slat.1.log
I can confirm that functional issue is fixed by modifying code in _benchfio/benchlib/defaultsettings.py
However, the output does not reflect the option fwmixread = 75
correctly:
$ bench-fio /home/fio/templates/generic_ccloud_ssd.ini
█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
+++ Fio Benchmark Script +++
Estimated duration : 0:06:00
Test target : /mnt/ssd/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_SSD
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 : 6
█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
100% |█████████████████████████| [0:03:34, 0:00:00]-]
Means there should be a line
Read/write mix in %% read : 75
(to my best knowledge).
I've committed fixes to master branch and also pypi. Let me know if there's still an issue.
It looks like there's another error...
I'm using this .ini file:
[benchfio]
target = /mnt/manilashare/fio
output = CCLOUD_MANILA
type = file
mode = randread,randwrite,randrw
rwmixread = 75
size = 10G
block_size = 4k,64M
iodepth = 1
numjobs = 1
direct = 1
engine = libaio
precondition = True
precondition_repeat = False
runtime = 60
destructive = True
extra_opts = norandommap=1 refill_buffers=1
Running bench-fio returns this error:
$ bench-fio /home/fio/templates/generic_ccloud_manilashare.ini
█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
+++ Fio Benchmark Script +++
Estimated duration : 0:06:00
Test target : /mnt/manilashare/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_MANILA
Precondition template : /home/ccloud/.local/lib/python3.10/site-packages/bench_fio/benchlib/../templates/precondition.fio
Read/write mix in %% read : 75
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 : 6
█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
0% | | - [0:00:00, -:--:--]
An error occurred: 1m: you need to specify size=
fio: pid=0, err=22/file:filesetup.c:1156, func=total_file_size, error=Invalid argument -
However, paramater size
is included in .ini file.
With the latest version I could not reproduce the issue. However, the extra_opts parameter in the ini should be separated by a comma.
Op di 31 jan. 2023 om 09:52 schreef Thomas @.***>:
It looks like there's another error...
I'm using this .ini file:
[benchfio] target = /mnt/manilashare/fio output = CCLOUD_MANILA type = file mode = randread,randwrite,randrw rwmixread = 75 size = 10G block_size = 4k,64M iodepth = 1 numjobs = 1 direct = 1 engine = libaio precondition = True precondition_repeat = False runtime = 60 destructive = True extra_opts = norandommap=1 refill_buffers=1
Running bench-fio returns this error:
$ bench-fio /home/fio/templates/generic_ccloud_manilashare.ini
█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████ +++ Fio Benchmark Script +++
Estimated duration : 0:06:00 Test target : /mnt/manilashare/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_MANILA Precondition template : /home/ccloud/.local/lib/python3.10/site-packages/bench_fio/benchlib/../templates/precondition.fio Read/write mix in %% read : 75 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 : 6
█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████ 0% | | - [0:00:00, -:--:--] An error occurred: 1m: you need to specify size= fio: pid=0, err=22/file:filesetup.c:1156, func=total_file_size, error=Invalid argument -
However, paramater size is included in .ini file.
— Reply to this email directly, view it on GitHub https://github.com/louwrentius/fio-plot/issues/91#issuecomment-1409980449, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAKAKLADLKW7BN63WXQB5QDWVDHD7ANCNFSM6AAAAAAUK6NVNU . You are receiving this because you were mentioned.Message ID: @.***>
My ini test file:
[benchfio]
target = /fio/test.bin
output = CCLOUD_MANILA
type = file
mode = randread,randwrite,randrw
rwmixread = 75
size = 1G
block_size = 4k,64M
iodepth = 1
numjobs = 1
direct = 1
engine = libaio
precondition = True
precondition_repeat = False
runtime = 10
destructive = True
extra_opts = norandommap=1,refill_buffers=1
The output
██████████████████████████████████████████████████████████████████████████████████████████████████████
+++ Fio Benchmark Script +++
Estimated duration : 0:01:00
Test target : /fio/test.bin
Job template : /usr/src/fio-plot/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 : 1G
Run precondition workload : True
Output folder : CCLOUD_MANILA
Precondition template : /usr/src/fio-plot/bench_fio/benchlib/../templates/precondition.fio
Read/write mix in %% read : 75
Time duration per test (s) : 10
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 : 6
██████████████████████████████████████████████████████████████████████████████████████████████████████
100% |█████████████████████████| [0:00:37, 0:00:00]-]
The original issue where the randrw75 string wasn't parsed properly is resolved.
Hi, I'm running bench-fio using this .ini file:
This creates the following directory structure:
However I was expecting only 1 directory
randrw75
. This directory structure implies thatrwmixread = 75
was not processed correctly.