I started out doing a few tests on a spare partition to see if there
was any real difference between file-systems. These few tests led to a
few more test which led to a few more test, etc. Over a period of
roughly a week I collected a large amount of data which I've decided to
put up as a web page (although I'm still scratching my head on the best
way to graph some of the results).

  However I would like to post a few results to the list for those
interested in such things. The first two parts looks at the handling of
a single file, the part three (and perhaps four) will look at multiple
files and directories and the final part will just be a few odds and
ends that turned up during the testing.

  The file-systems tested were ext2, ext3 (in a lots of flavours), XFS
(in a few flavours) and reiserfs ( version 3.5 I think, maybe 3.6 ...
I'll check this later).

  All external journals (shortened to EJ here after) were on a separate
disk on a different IDE channel.

  All the results in the first part were collected with bonnie
http://www.textuality.com/bonnie/
  Bonnie runs six tests (more info on the above website);
        a) A character by character write to the disk.
        b) A block write to the disk.
        c) A "rewrite" of the data in place.
        d) A character by character read from the disk
        e) A block read from the disk
        f) A random "rewrite" of the data in place.

Test 1 (bonnie -s 10): This test was intentionally run with a size much
smaller then the available memory. My thinking here was that the limit
on performance would be "code efficiency", but there a quite a few
factors at play here.

        A) XFS, ext2, ext3 with an EJ and tmpfs all   
           performed within 1% of each other on this test.
           Reiserfs, ext3 and ext3 with full journalling were all ~25%    
slower.

        B) XFS with an EJ and ext3 with an EJ journal were fastest here 
           by ~10%.
           Ext2 was next.
           XFS was ~5% slower then ext2.
           tmpfs was ~10% slower then ext2.
           ext3 with full journalling was ~40% slower then ext2.
           ext3 was ~50% slower then ext2.
           Reiserfs was almost 60% slower then ext2.

        C) Ext3 with an EJ was over 10% faster then ext2.
           XFS with an EJ and tmpfs were ~8% faster then 
           ext2.
           Ext2 was next.
           XFS and reiserfs were less then 5% slower then ext2.
           Ext3 and ext3 with full journalling were ~15% slower then 
           ext2.

        D) All these results were within 1% of each other.

        E) Ext3 and XFS (both with EJs) were ~5% faster.
           Everything else was within 1% of ext2.

        F) Ext3 with an EJ was ~10% faster than ext2.
           XFS with an EJ was ~5% faster than ext2.
           Everything else was within 1% of ext2.


The next part will be the same test run with a file size almost three
times the size of the RAM in the test machine.

Cheers,
Malcolm V.

-- 
SLUG - Sydney Linux User's Group - http://slug.org.au/
More Info: http://lists.slug.org.au/listinfo/slug

Reply via email to