All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chris Mason <chris.mason@oracle.com>
To: linux-kernel@vger.kernel.org
Subject: filesystem benchmarking fun
Date: Wed, 16 May 2007 10:42:05 -0400	[thread overview]
Message-ID: <20070516144205.GV26766@think.oraclecorp.com> (raw)

Hello everyone,

I've been spending some time lately on filesystem benchmarking, in part
because my pet FS project is getting more stable and closer to release.
Now seems like a good time to step back and try to find out what
workloads we think are most important and see how well Linux is doing on
them.  So, I'll start with my favorite three benchmarks and why I think
they matter.  Over time I hope to collect a bunch of results for all of
us to argue about.

* fio: http://brick.kernel.dk/snaps/
Fio can abuse a file via just about every api in the kernel.  aio, dio,
syslets, splice etc.  It can thread, fork, record and playback traces
and provides good numbers for throughput and latencies on various
sequential and random io loads.

* fs_mark: http://developer.osdl.org/dev/doubt/fs_mark/index.html
This one covers most of the 'use the FS as a database' type workloads,
and can vary the number of files, directory depth etc.  It has detailed
timings for reads, writes, unlinks and fsyncs that make it good for
simulating mail servers and other setups.

* compilebench: http://oss.oracle.com/~mason/compilebench/
Tries to benchmark the filesystem allocator by aging the FS through
simulated kernel compiles, patch runs and other operations.

It's easy to get caught up in one benchmark or another and try to use
them for bragging rights.  But, what I want to do is talk about the
workloads we're trying to optimize for and our current methods for
measuring success.  If we don't have good benchmarks for a given
workload, I'd like to try and collect ideas on how to make one.

For example, I'll pick on xfs for a minute.  compilebench shows the
default FS you get from mkfs.xfs is pretty slow for untarring a bunch of
kernel trees.  Dave Chinner gave me some mount options that make it
dramatically better, but it still writes at 10MB/s on a sata drive that
can do 80MB/s.  Ext3 is better, but still only 20MB/s. 

Both are presumably picking a reasonable file and directory layout.
Still, our writeback algorithms are clearly not optimized for this kind
of workload.  Should we fix it?

-chris


             reply	other threads:[~2007-05-16 14:44 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-16 14:42 Chris Mason [this message]
2007-05-16 16:01 ` filesystem benchmarking fun Chuck Ebbert
2007-05-16 17:11   ` Chris Mason
2007-05-16 18:25     ` Andrew Morton
2007-05-16 19:13       ` Chris Mason
2007-05-16 19:33         ` Andrew Morton
2007-05-16 19:53           ` Chris Mason
2007-05-16 20:04             ` Andrew Morton
2007-05-16 20:14               ` Chris Mason
2007-05-16 20:37                 ` Andrew Morton
2007-05-16 21:02                   ` Chris Mason
2007-05-24 17:29                     ` Vara Prasad
2007-05-22 16:35                   ` Chris Mason
2007-05-22 17:50                     ` John Stoffel
2007-05-22 18:12                       ` Chris Mason
2007-05-22 18:21                     ` Andrew Morton
2007-05-22 18:39                       ` Chris Mason
2007-05-22 21:25                       ` Matt Mackall
2007-05-25  7:14                         ` Jens Axboe
2007-05-16 18:12 ` Jan Engelhardt
2007-05-16 19:12   ` Jeff Garzik
2007-05-16 19:16     ` Jeffrey Hundstad
2007-05-16 19:21       ` Jan Engelhardt
2007-05-18  3:32     ` Eric Sandeen
2007-05-16 19:25   ` Chris Mason
  -- strict thread matches above, loose matches on Subject: below --
2007-05-16 21:01 Al Boldi
2007-05-17 11:52 Xu CanHao

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20070516144205.GV26766@think.oraclecorp.com \
    --to=chris.mason@oracle.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.