Date: Tue, 09 Jan 2007 15:43:33 +0100 From: Ivan Voras <ivoras@fer.hr> To: freebsd-geom@freebsd.org Cc: freebsd-fs@freebsd.org Subject: Re: Capturing I/O traces Message-ID: <eo09ml$jhq$1@sea.gmane.org> In-Reply-To: <45A396C5.2000908@fluffles.net> References: <45A38D38.3020407@fluffles.net> <eo049r$th4$1@sea.gmane.org> <45A396C5.2000908@fluffles.net>
next in thread | previous in thread | raw e-mail | index | archive | help
Fluffles wrote: > 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 If an application has two threads (or there are two processes) making a request at the same time, the lower level WILL get two requests, even if the "first one" hasn't completed. This is nondeterministic - you can't know which application's request will be the "first" and on the GEOM level you don't know what application has made the request. It's all anonymous I/O at that level, completed asynchronously. Is this what you're asking or is it something else? > 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. Nobody is questioning the use of I/O traces for benchmarking - I've seen many utilities that do it. Of course, raw I/O traces are only useful for benchmarking raw I/O - more useful for most workloads would be VFS traces (because it involves CPU, locking, etc...).
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?eo09ml$jhq$1>