All of lore.kernel.org
 help / color / mirror / Atom feed
* bsrange split
@ 2019-03-28 22:44 David Byte
  2019-03-29  6:07 ` Sitsofe Wheeler
  0 siblings, 1 reply; 2+ messages in thread
From: David Byte @ 2019-03-28 22:44 UTC (permalink / raw)
  To: fio

I am trying to figure out how I would do a test where I have multiple ranges of block sizes with a percentage distribution assigned to each range.

Something like this but works and reports the io data for each range: fio --bssplit=1k-8k/10:8k-128k/50 --name=test --rw=randrw --time_based=1 --runtime=30 --size=1G --filename=/tmp/test.

Clearly using a jobfile with named sections is a start, but I'm not sure how to control the distribution of I/O between the sections?

Thoughts or better yet an example?


David Byte


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: bsrange split
  2019-03-28 22:44 bsrange split David Byte
@ 2019-03-29  6:07 ` Sitsofe Wheeler
  0 siblings, 0 replies; 2+ messages in thread
From: Sitsofe Wheeler @ 2019-03-29  6:07 UTC (permalink / raw)
  To: David Byte; +Cc: fio

Hello David,

On Thu, 28 Mar 2019 at 23:07, David Byte <dbyte@suse.com> wrote:
>
> I am trying to figure out how I would do a test where I have multiple ranges of block sizes with a percentage distribution assigned to each range.
>
> Something like this but works and reports the io data for each range: fio --bssplit=1k-8k/10:8k-128k/50 --name=test --rw=randrw --time_based=1 --runtime=30 --size=1G --filename=/tmp/test.
>
> Clearly using a jobfile with named sections is a start, but I'm not sure how to control the distribution of I/O between the sections?
>
> Thoughts or better yet an example?

I can give a thought... If you are trying to distribute I/O *between
two sections* you can look towards flow
(https://fio.readthedocs.io/en/latest/fio_doc.html#cmdoption-arg-flow
). If you need it between N>2 sections (and not just pairs) I don't
think flow is going to be good enough and I don't have any suggestions
(yes multiple sections can work with the same counter but there are
only two sides to it's more like a tug of war).

What would be excellent is if someone were to add a feature that
allows flow to work in a "shares" mode. Every active job could say how
many shares they have and then each time they do I/O a share is used
and you can only do I/O while your shares are above 0. A job's shares
would only be replenished after every job's shares have become 0. I
suppose so long as the total shares added up to 100 people could even
see them percentages (but that may be a bit bursty and maybe you want
to try and order the jobs' "goes" in a way that everyone's shares to
drop to 0 at roughly the same time). There's also issues around jobs
that finish early while others are ongoing and jobs etc. but I still
think it could be made to work.

-- 
Sitsofe | http://sucs.org/~sits/


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2019-03-29  6:08 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-28 22:44 bsrange split David Byte
2019-03-29  6:07 ` Sitsofe Wheeler

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.