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
