Re: Using fio with blkread data, example needed

From: John Rouillard <rouilj_at_renesys.com>
Date: Thu, 13 Dec 2007 19:48:29 +0000

On Mon, Dec 03, 2007 at 09:45:54AM +0100, Jens Axboe wrote:
> On Mon, Dec 03 2007, Joshua Root wrote:
> > John Rouillard wrote:
> > > I am planning on using fio to simulte a disk load on some diskless
> > > clients that will be using NFS rather then local disk as their data
> > > source/sink.
> > >
> > > I have run blktrace on a system with local disks that is currently
> > > running the worload of interest. I have the files:
> > >
> > > sda1.blktrace.0 sda1.blktrace.1 sda1.blktrace.2 sda1.blktrace.3
> > >
> > > (4 cpu system), but I am not quite sure what to use for an fio job
> > > file. Does anybody have any examples I could work from?
> >
> > All fio can really do with your trace is replay it against a block
> > device. It sounds like you really want to record what's happening at the
> > filesystem level rather than the block I/O level.
>
> Yeah, you can't really replay a block device trace against an nfs setup.

I assume one other possibility is to use iScsi or AoE to mount the
block device from the remote server. Then I should be able to replay
my traces right?

Also does anybody have a sample config file to replay the block
traces? I have a system that I want to test against with faster local
disks and io bus than the original.

> You could mimic it to some extent by laying out a file big enough on the
> nfs server and then replay the above sda trace against that file.
>
> But I agree with Joshua, there's probably a better fit for what you
> need.

To follow up on that comment, here is what I am trying to do. I have a
series of processes (8) that write to/read from a local disk. I am
trying to get information about the disk access patterns so that I can
use fio to simulate the same disk workload on an nfs mounted
partition.

As part of this, I would be tuning the client and server side to try
to get the best throughput, so having a repeatable test case is
critical.

Initially I thought of using truss/strace... to get a list of the
open/close/write/read/seek calls across all 8 processes for say an
hour or so and postprocess that somehow into a profile for fio to
use. The 8 processes are the only software using the disk partition,
and have a tendency to contend with each other for disk access. As a
result they invalidate buffer caches hence the need to monitor all 8
processes and not just monitor 1 process and replicate it 8
times. (Although that is a fallback poisition if anybody has any ideas
on how to go from process -> disk access -> fio profile/config).

Does this give you more of an idea of what I am trying to do? More
importantly do you have any idea on something that fits my needs
better?

-- 
				-- rouilj
John Rouillard
System Administrator
Renesys Corporation
603-643-9300 x 111
Received on Thu Dec 13 2007 - 20:48:29 CET

This archive was generated by hypermail 2.2.0 : Thu Dec 13 2007 - 21:00:01 CET