a comparison of ext3, jfs, and xfs on hardware raid

Andreas Dilger adilger at clusterfs.com
Thu Jul 14 18:33:30 UTC 2005


On Jul 13, 2005  17:12 -0700, Jeffrey W. Baker wrote:
> I'm setting up a new file server and I just can't seem to get the
> expected performance from ext3.  Unfortunately I'm stuck with ext3 due
> to my use of Lustre.  So I'm hoping you dear readers will send me some
> tips for increasing ext3 performance.
> 
> The system is using an Areca hardware raid controller with 5 7200RPM
> SATA disks.  The RAID controller has 128MB of cache and the disks each
> have 8MB.  The cache is write-back.  The system is Linux 2.6.12 on amd64
> with 1GB system memory.
> 
> Using bonnie++ with a 10GB fileset, in MB/s:
> 
>          ext3    jfs    xfs
> Read     112     188    141
> Write     97     157    167
> Rewrite   51      71     60
> 
> These number were obtained using the mkfs defaults for all filesystems
> and the deadline scheduler.  As you can see JFS is kicking butt on this
> test.

One thing that is important for Lustre is performance of EAs.  See
http://samba.org/~tridge/xattr_results/ for a comparison.  Lustre
uses large inodes (-I 256 or larger) to store the EAs efficiently.

> Next I used pgbench to test parallel random I/O.  pgbench has
> configurable number of clients and transactions per client, and can
> change the size of its database.  I used a database of 100 million
> tuples (scale factor 1000).  I times 100,000 transactions on each
> filesystem, with 10 and 100 clients per run.  Figures are in
> transactions per second.
> 
>               ext3  jfs  xfs
> 10 Clients      55   81   68
> 100 Clients     61  100   64
> 
> Here XFS is not substantially faster but JFS continues to lead.  
> 
> JFS is roughly 60% faster than ext3 on pgbench and 40-70% faster on
> bonnie++ linear I/O.

This is a bit surprising, I've never heard JFS as a leader in many
performance tests.  Is pgbench at all related to dbench?  The problem
with dbench is that for cases where the filesystem does no IO at all
it reports a best result.  In real life the data has to make it to
disk at some point.

See http://sudhaa.com/~benchmark/ext3/newtiobenchresults.ext3gold/newtiobench/newtiobench.html
for a comparison of ext3, xfs, jfs in the mode that Lustre runs in
(specifically column 7, 14, 18).

> Are there any tunables that I might want to adjust to get better
> performance from ext3?

Try creating your ext3 filesystem with a larger journal, as Lustre does:

mkfs -J size=400 ...

size is in MB, 400 might be excessive for your setup - I'd be interested
in hearing where the "sweet spot" is for journal size.  The latest e2fsprogs
use 128MB as the largest default size (up from 32MB) for large filesystems.

Cheers, Andreas
--
Andreas Dilger
Principal Software Engineer
Cluster File Systems, Inc.




More information about the Ext3-users mailing list