Capturing I/O traces

Fluffles etc at fluffles.net
Tue Jan 9 13:20:30 UTC 2007


Ivan Voras wrote:
> Fluffles wrote:
>
>   
>> One thought that comes to mind is the gnop geom class; with verbose mode
>> this provides a text log of all the I/O accesses. But it does not
>> provide the exact time/concurrency etc, only the offset, length, I/O
>>     
>
> What do you mean by "time" and "concurrency"? You do realize that
> requests are serialized on the low level?
>   

Sure but simply capturing the serial order of requests might not be
sufficient. For example: the application might 'wait' for one request to
be finished because it needs that data in order to do another I/O
request. I guess this is the hard part. If i would just execute the I/O
in a serial way things like accesstime or 'latency' are less important
because the overall throughput counts; while this may not be true for
real applications but they might wait on one request before they can
move on; thus a lower latency might be more important than a higher
throughput.

I guess it's not easy to really make something like this be reliable and
realistic, but i'd like to come as close as possible. For example, the
website StorageReview also uses traces to benchmark specific uses, two
links:

http://www.storagereview.com/articles/200611/ST3750640NS_3.html
http://www.storagereview.com/articles/200510/Testbed4_4.html

I'd like to use traces of applications on FreeBSD (or GNU/Linux) to
benchmark KDE startup, MySQL, Apache and other applications. So i can
have benchmark suites like "desktop", "webserver" and "database". That
would be very neat.



More information about the freebsd-geom mailing list