On 3/7/23 09:30, Thomas Schneider wrote:
Hello,
I want to benchmark different storage devices with an I/O workload
generated by the "real" application: DB.
A typcial command could be:
fio --name=random-writers --ioengine=libaio --iodepth=4 --rw=randwrite
--bs=1024 --direct=1 --size=64m --numjobs=2 runtime=120s
The question is regarding parameters size and runtime:
- What value should be used for size? Should this be the same as
allocated disk space by DB data files? Or just a (reasonable) portion of
this? DB data files could be up to xTB.
- Is it advisable to use runtime? If yes, would this somehow contradict
to size, means if I use a larger size, then runtime is obviously longer.
The documentation for runtime is here:
https://fio.readthedocs.io/en/latest/fio_doc.html#cmdoption-arg-runtime
Fio will write within the LBAs bounded by offset and size and stop when
it has touched all the LBAs or when runtime is attained. Run some
experiments with --debug=io to better understand fio's behavior.
Also take a look at the example job files for help:
https://github.com/axboe/fio/tree/master/examples
Vincent