louwrentius / fio-plot

Create charts from FIO storage benchmark tool output
BSD 3-Clause "New" or "Revised" License
370 stars 87 forks source link

bench-fio does not support Fio's client-server mechanism #88

Closed louwrentius closed 1 year ago

louwrentius commented 1 year ago

Fio supports a client-server model that allows benchmarking of multiple remote systems at the same time.

As discussed here it maybe nice for devices with limited flexibility not to have any kind of python+libs installed and only run FIO.

In this case, the client-server model would help as the semi-embedded device only runs the fio binary as fio --server and bench-fio can be run on a regular machine with python.

There are likely also many other usec ases that would benefit from client/server support.

louwrentius commented 1 year ago

After further testing and investigation, it shows that creating this feature is much more complicated than I initially thought. One very critical issue is that the json output is different so this requires some extra work on fio-plot.

Also, there are two methods of using the client server mechanism. The first one is one or more parameters with --client= options that allow per-client job parameters. the second one is just one --client option that specifies the file host.list containing one host per line. All hosts in this file will use the same job file, so no per-host configuration.

louwrentius commented 1 year ago

For those who are interested - they can try and use the clientserver branch of fio-plot to play with client-server benchmarking. The bench-fio tool supports it. Graphing the data with fio-plot is still a work in progress.

louwrentius commented 1 year ago

Client-server support is now built-in since the 1.x.x release.