Flexible I/O Tester development
 help / color / mirror / Atom feed
* fio client/server with different job files
@ 2012-08-23  0:32 Frank Leers
  2012-08-23  6:46 ` Jens Axboe
  0 siblings, 1 reply; 3+ messages in thread
From: Frank Leers @ 2012-08-23  0:32 UTC (permalink / raw)
  To: fio

Hello,

Is it possible to lanch fio against multiple servers, each having a
unique job file?

example

(assume fio --server started already on these two nodes)
# fio --client=node2 jobfile_for_node2 --client=node3 jobfile_for_node3.cfg

Alternately, is there a directive that can be placed into a common job
file which would cause a specific server only to run jobs with that
directive?

example


# fio --client=node2 --client=node3 jobfile.cfg


jobfile contains:

[for_node2_only]
filename=/dev/shareddiskA
readwrite=read
runtime=60
ioengine=libaio
direct=1
iodepth=32
fsync_on_close=0
time_based
ioscheduler=noop
blocksize=4M
client=node2


[for_node3_only]
filename=/dev/shareddiskB
readwrite=read
runtime=60
ioengine=libaio
direct=1
iodepth=32
fsync_on_close=0
time_based
ioscheduler=noop
blocksize=4M
client=node3


Thanks for the very nice utility.

-frank

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

* Re: fio client/server with different job files
  2012-08-23  0:32 fio client/server with different job files Frank Leers
@ 2012-08-23  6:46 ` Jens Axboe
  2012-08-26 22:20   ` Jens Axboe
  0 siblings, 1 reply; 3+ messages in thread
From: Jens Axboe @ 2012-08-23  6:46 UTC (permalink / raw)
  To: Frank Leers; +Cc: fio

On 2012-08-23 02:32, Frank Leers wrote:
> Hello,
> 
> Is it possible to lanch fio against multiple servers, each having a
> unique job file?
> 
> example
> 
> (assume fio --server started already on these two nodes)
> # fio --client=node2 jobfile_for_node2 --client=node3 jobfile_for_node3.cfg
> 
> Alternately, is there a directive that can be placed into a common job
> file which would cause a specific server only to run jobs with that
> directive?
> 
> example
> 
> 
> # fio --client=node2 --client=node3 jobfile.cfg
> 
> 
> jobfile contains:
> 
> [for_node2_only]
> filename=/dev/shareddiskA
> readwrite=read
> runtime=60
> ioengine=libaio
> direct=1
> iodepth=32
> fsync_on_close=0
> time_based
> ioscheduler=noop
> blocksize=4M
> client=node2
> 
> 
> [for_node3_only]
> filename=/dev/shareddiskB
> readwrite=read
> runtime=60
> ioengine=libaio
> direct=1
> iodepth=32
> fsync_on_close=0
> time_based
> ioscheduler=noop
> blocksize=4M
> client=node3

It's not currently possible. It's one of the shortcuts I took when
developing and testing the client/server mode. In reality it's just due
to the parser sending all files to all servers, it'd be pretty easy to
fix up so that you could do:

# fio --client=node2 jobfile_for_node2 --client=node3 jobfile_for_node3.cfg

and have it work exactly as you expect.

I've got some travel time coming up shortly, I'll get this fixed up. You
are not the first to (rightfully) wonder why it behaves as it currently
does :-)

-- 
Jens Axboe


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

* Re: fio client/server with different job files
  2012-08-23  6:46 ` Jens Axboe
@ 2012-08-26 22:20   ` Jens Axboe
  0 siblings, 0 replies; 3+ messages in thread
From: Jens Axboe @ 2012-08-26 22:20 UTC (permalink / raw)
  To: Frank Leers; +Cc: fio

On 2012-08-22 23:46, Jens Axboe wrote:
> On 2012-08-23 02:32, Frank Leers wrote:
>> Hello,
>>
>> Is it possible to lanch fio against multiple servers, each having a
>> unique job file?
>>
>> example
>>
>> (assume fio --server started already on these two nodes)
>> # fio --client=node2 jobfile_for_node2 --client=node3 jobfile_for_node3.cfg
>>
>> Alternately, is there a directive that can be placed into a common job
>> file which would cause a specific server only to run jobs with that
>> directive?
>>
>> example
>>
>>
>> # fio --client=node2 --client=node3 jobfile.cfg
>>
>>
>> jobfile contains:
>>
>> [for_node2_only]
>> filename=/dev/shareddiskA
>> readwrite=read
>> runtime=60
>> ioengine=libaio
>> direct=1
>> iodepth=32
>> fsync_on_close=0
>> time_based
>> ioscheduler=noop
>> blocksize=4M
>> client=node2
>>
>>
>> [for_node3_only]
>> filename=/dev/shareddiskB
>> readwrite=read
>> runtime=60
>> ioengine=libaio
>> direct=1
>> iodepth=32
>> fsync_on_close=0
>> time_based
>> ioscheduler=noop
>> blocksize=4M
>> client=node3
> 
> It's not currently possible. It's one of the shortcuts I took when
> developing and testing the client/server mode. In reality it's just due
> to the parser sending all files to all servers, it'd be pretty easy to
> fix up so that you could do:
> 
> # fio --client=node2 jobfile_for_node2 --client=node3 jobfile_for_node3.cfg
> 
> and have it work exactly as you expect.
> 
> I've got some travel time coming up shortly, I'll get this fixed up. You
> are not the first to (rightfully) wonder why it behaves as it currently
> does :-)

Done mid-air (and still 10k up, fwiw), did not take too long. Please try
a current git snapshot, it should have support for doing the above
format of sending different ini files to different clients. I can't
really test it with no other machines to connect to, so feedback would
be appreciated.

-- 
Jens Axboe


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

end of thread, other threads:[~2012-08-26 22:20 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-08-23  0:32 fio client/server with different job files Frank Leers
2012-08-23  6:46 ` Jens Axboe
2012-08-26 22:20   ` Jens Axboe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox