All of lore.kernel.org
 help / color / mirror / Atom feed
* help constructing job file
@ 2018-03-26 23:58 Vincent McIntyre
  2018-04-16  8:34 ` Sitsofe Wheeler
  0 siblings, 1 reply; 3+ messages in thread
From: Vincent McIntyre @ 2018-03-26 23:58 UTC (permalink / raw)
  To: fio

Hi

(newbie alert)

I am struggling with how to model a particular workload:
 - there are two groups of processes (8 writers and 8 readers),
   that run concurrently, writing to a single RAID unit

 - each of the writers
   - opens 36 files
   - appends to the files in 1M chunks until they reach 100G
   - closes those files and opens a new set

 - each of the readers
   - reads a group of 36 contemporaneous files from beginning to end
   - moves on to the next group

My goal is not to maximise numbers from fio tests but rather
to model the system and how it is likely to scale up or down.
In particular I want to observe the system behaviour over an
extended period (up to 24h) with readers & writers hammering away.

Below is my initial sketch which isn't right; in my tests (with
smaller filesize, numjobs, nrfiles) it runs the file layout fine
but I never seem to get a prolonged period of read operations
in parallel with writes.

[global]
direct=0
fsync=0
bs=4k
size=1M
ioengine=posixaio
rwmixread=50
rwmixwrite=50
group_reporting=1
per_job_logs=0
filesize=100G
file_append=1
invalidate=1
refill_buffers=1

[writer]
name=writer
readwrite=write
numjobs=8
nrfiles=36
file_service_type=roundrobin

[reader]
name=reader
readwrite=read
numjobs=8
nrfiles=36
file_service_type=roundrobin

Any pointers would be most welcome.
Vince

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

* Re: help constructing job file
  2018-03-26 23:58 help constructing job file Vincent McIntyre
@ 2018-04-16  8:34 ` Sitsofe Wheeler
  2018-04-16  9:46   ` Vincent McIntyre
  0 siblings, 1 reply; 3+ messages in thread
From: Sitsofe Wheeler @ 2018-04-16  8:34 UTC (permalink / raw)
  To: Vincent McIntyre; +Cc: fio

Hi!

On 27 March 2018 at 00:58, Vincent McIntyre <vincent.mcintyre@csiro.au> wrote:
> Hi
>
> (newbie alert)
>
> I am struggling with how to model a particular workload:
>  - there are two groups of processes (8 writers and 8 readers),
>    that run concurrently, writing to a single RAID unit
>
>  - each of the writers
>    - opens 36 files
>    - appends to the files in 1M chunks until they reach 100G

Perhaps you want to set bs=1M ?

>    - closes those files and opens a new set

This might be tricky. You can control the number of files open
simultaneously but I don't think a single job can change the set of
files it works over. You would have to have a job that waits for an
earlier one to finish and works with a different set of files.

>
>  - each of the readers
>    - reads a group of 36 contemporaneous files from beginning to end
>    - moves on to the next group

See above.

> My goal is not to maximise numbers from fio tests but rather
> to model the system and how it is likely to scale up or down.
> In particular I want to observe the system behaviour over an
> extended period (up to 24h) with readers & writers hammering away.
>
> Below is my initial sketch which isn't right; in my tests (with
> smaller filesize, numjobs, nrfiles) it runs the file layout fine
> but I never seem to get a prolonged period of read operations
> in parallel with writes.
>
> [global]
> direct=0
> fsync=0
> bs=4k
> size=1M

I'm not sure this is right. Perhaps size=100g bs=1M ?

> ioengine=posixaio

If you're on Linux you might find libaio is faster. Also note you
don't have direct=1 so your kernel is allowed to do caching.

> rwmixread=50
> rwmixwrite=50

All jobs will be doing both reads AND writes. Is this what you really want?

> group_reporting=1
> per_job_logs=0
> filesize=100G
> file_append=1

Did you want files to be reset before being grown (e.g. if the file
already with 100G of size do you want it to grow to 200G)?

> invalidate=1

invalidate is 1 by default.

> refill_buffers=1
>
> [writer]
> name=writer
> readwrite=write
> numjobs=8
> nrfiles=36
> file_service_type=roundrobin
>
> [reader]
> name=reader
> readwrite=read
> numjobs=8
> nrfiles=36
> file_service_type=roundrobin

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

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

* Re: help constructing job file
  2018-04-16  8:34 ` Sitsofe Wheeler
@ 2018-04-16  9:46   ` Vincent McIntyre
  0 siblings, 0 replies; 3+ messages in thread
From: Vincent McIntyre @ 2018-04-16  9:46 UTC (permalink / raw)
  To: Sitsofe Wheeler; +Cc: fio

On Mon, Apr 16, 2018 at 09:34:56AM +0100, Sitsofe Wheeler wrote:
> Hi!

Thank you for your feedback, it's helpful. I will go and play in the
corner for awhile and report back on how I did.

Kind regards
Vince

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

end of thread, other threads:[~2018-04-16  9:56 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-03-26 23:58 help constructing job file Vincent McIntyre
2018-04-16  8:34 ` Sitsofe Wheeler
2018-04-16  9:46   ` Vincent McIntyre

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.