From owner-freebsd-geom@FreeBSD.ORG Tue Jan 9 12:39:44 2007 Return-Path: X-Original-To: freebsd-geom@freebsd.org Delivered-To: freebsd-geom@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id C941816A416; Tue, 9 Jan 2007 12:39:44 +0000 (UTC) (envelope-from etc@fluffles.net) Received: from auriate.fluffles.net (cust.95.160.adsl.cistron.nl [195.64.95.160]) by mx1.freebsd.org (Postfix) with ESMTP id 7C9D513C46C; Tue, 9 Jan 2007 12:39:44 +0000 (UTC) (envelope-from etc@fluffles.net) Received: from destiny ([10.0.0.21]) by auriate.fluffles.net with esmtpa (Exim 4.63 (FreeBSD)) (envelope-from ) id 1H4GGR-0002lu-7h; Tue, 09 Jan 2007 13:39:39 +0100 Message-ID: <45A38D38.3020407@fluffles.net> Date: Tue, 09 Jan 2007 13:40:24 +0100 From: Fluffles User-Agent: Thunderbird 1.5.0.8 (X11/20061114) MIME-Version: 1.0 To: freebsd-geom@freebsd.org, freebsd-fs@freebsd.org Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Cc: Subject: Capturing I/O traces X-BeenThere: freebsd-geom@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: GEOM-specific discussions and implementations List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 09 Jan 2007 12:39:44 -0000 Hello list, I was wondering if any method is known to "capture" I/O traces. My goal is to be able to simulate I/O access patterns generated by applications such as MySQL or KDE and compare these to other storage systems. This way i can provide more realistic benchmarks (not synthetic) without actually running the application i'm testing. For example, I would like to capture the I/O that occurs when KDE boots, and then be able to reproduce this I/O access on say a gmirror and graid3. This way i can gather more realistic benchmark results. On Windows several commercial applications exist that 'simulate' access patterns used by applications, i was wondering if any BSD/Linux equivalent exists. 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 action (read/write) and the serial order of those requests. And even with this information it's not easy to reproduce them; i would have to write an application that reads this log and then be able to reproduce it. I was hoping to find a more elegant solution. If you guys know of any, please share it with me. :) Regards, Veronica