Closed gdevenyi closed 1 year ago
Hi, thanks for your feedback. The bench-fio -o output directory is used with the fio-plot -i parameter as input. (Like test/sda/4k)
Is there anything in particular you are looking for regarding documentation?
Hi,
I'm looking for a complete worked example consisting of
I've found myself in the state where I ran a multi-hour bench-fio run where I have a bunch of outputs and I don't know how to to get fio-plot to parse and plot everything
I think you really have to start with the question: 'what do I want to know about my storage setup'. That will drive the answer how to plot this data. So is there anything in particular that you want to investigate? If you're willing to share your benchmark data, we can work together on this and I'm willing to demo this with an example.
I think you really have to start with the question: 'what do I want to know about my storage setup'. That will drive the answer how to plot this data.
I have a different question. I'm coming at this from "I ran this set of benchmark parameters, I want all the plots it can give me"
Here's the bench-fio config I used:
[benchfio]
target = ./test
output = benchmark
type = directory
mode = randrw
size = 10G
iodepth = 1,2,4,8,16,32,64,128
numjobs = 1,2,4,8
direct = 1
engine = libaio
precondition = False
precondition_repeat = False
runtime = 60
destructive = True
rwmixread = 50
block_size = 4k,8k,16k,64k,128k,256k,512k
And the complete output directory. https://nextcloud.computecanada.ca/index.php/s/k9cFGboKkzfMmb9
Again, a comprehensive example combining an bench-fio and fio-plot run of any kind would go a long way to helping me solve this problem myself, but I appreciate the direct help nonetheless.
Thanks for sharing the data. It feels to me that you threw the kitchen sink at your storage but not with any specific purpose so I'm not really sure where you're going with this and what you are trying to accomplish.
The README gives a ton of examples, didn't any of those succeed?
This is the first example from the readme.
fio-plot -i INTEL_D3-S4610 --source "https://louwrentius.com" -T "INTEL D3-S4610 SSD on IBM M1015" -l -r randread
I've adjusted it to your data.
~/projects/fio-plot/bin/fio-plot -i issue114/test/randrw50/4k/ --source "https://louwrentius.com" -T "INTEL D3-S4610 SSD on IBM M1015" -l -r randrw
But we get the error:
Since we are processing randrw data, you must specify a filter for either read or write data, not both.
So we specify the filter -f read like so:
~/projects/fio-plot/bin/fio-plot -i issue114/test/randrw50/4k/ --source "https://louwrentius.com" -T "INTEL D3-S4610 SSD on IBM M1015" -l -r randrw -f read
The title is nonsensical, but just to use an example from the readme.
The key issue is really specifically what you want to know, regarding the performance of your storage solution, that determines which graphs to use and which parameters to select.
Looking at the README, I do realise that I should give examples that use the directory structure generated with bench-fio, not (only) the flat directories in my examples.
Looking at the README, I do realise that I should give examples that use the directory structure generated with bench-fio, not (only) the flat directories in my examples.
That would give me enough of a hint to get started I think. In the end, I expect to write something to automate generating all the figures from the bench run, but missing was the connection between the many outputs and a single plot you've just provided.
Additionally, I think it may be worthwhile to document the relationship between the JSON filenames and the fio-plot.
Thanks!
Thanks for your help, I've generated a simple loop to generate a collection of plots now that I have a better sense of what the "smallest unit" of data is from the benchmark outputs
for dir in benchmark/test/randrw50/*/; do
for type in read write; do
for output in iops lat; do
fio-plot -i ${dir} --source '80dabb87f3ce4a9798bd6ba9cb78bcd6' -T 'vda' -L -r randrw -f ${type} -t ${output} -o vda_$(basename ${dir})_${type}_${output}.png
done
done
done
I'd like to leave this issue open for the original request of a complete example of how to use the two tools together.
There is no worked example provided which combines multiple-run bench-fio command (or ini) with a fio-plot command (or ini) to provide a complete set of benchmarks and plots.