BTRFS vs EXT3 vs EXT4 vs XFS performance on Fedora 17

Written by Gionatan Danti on . Posted in Linux & Unix

User Rating:  / 19
PoorBest 

Conclusions and final thoughts

Ok, it is time to draw some conclusions. Keeping in mind that in some benchmarks the contenders shows similar results and that, on the other side, each filesystem win some specific benchmarks, we can state the following:

  • ext3 can generally be avoided: it is often slower than ext4 or xfs, yet it has the more limited feature set; for example, it is a little more prone to fragmentation. However, its greatest limitation came in the form of the maximum volume size of “only” 16 TB: with todays drive capacities (up to 4 TB for a single drive), it will quickly give up. Moreover, to reach these capacities you had to increase its block size, and this will lead to greater wasted space. 
  • ext4 and xfs are two mature, reliable filesystems that can be used everywhere, form server space to laptop hard disk. Ext4 has very good write and metadata performances, but slightly lower read speed than xfs; 
  • btrfs is generally slower than ext4 or xfs, but it has many unique features (eg: snapshots). 

In light of these considerations, for the general desktop Linux user I recommend the use of ext4 or xfs. Remember that ext4 great metadata handling should give you shorter waiting times when you are managing large number of small file – for example, during system updates. On the other hand, very good read speed and fragmentation resilience give xfs an edge in mostly-read tasks – which are the tasks commonly executed by home users.

On server space, though, I really recommend EXT4: its performances with databases are very well balanced, leading to very good scores.

Some words for btrfs: its main point is to be a feature rich filesystem, not the fastest one. These advanced features are built primarily for server environments; home users will rarely use the advanced btrfs capabilities to full extent. Anyway, it remain a very young filesystem: it is probably too much untested to be used to keep vital data and applications. Let it mature and then Linux users will have a very good, flexible filesystem.

I hope that you find this article interesting.

If you want, you can discuss it with me by writing at This email address is being protected from spambots. You need JavaScript enabled to view it. Have a nice day!

 

References:

[1] - http://en.wikipedia.org/wiki/Comparison_of_file_systems

Comments   

 
#1 Roger 2012-06-20 00:40
Could you share with us the mount options used to mount the file systems for these benchmarks?
 
 
#2 Gionatan Danti 2012-06-20 08:00
Hi Roger,
apart the write barriers option (which was manually enabled on all filesystems, ext3 included) I left the default mount options at their default settings.

To tell the truth, Fedora enable barriers by default on ext3 also; however, this is a Fedora-specific change that not all distributions followed (apart SuSe, I think).

The rationale behind this decision to not mess with mount options is that, as default settings are the most used settings, they _must_ be adequate; the failure to set them to reasonable default will affect many users.

On the other hand, write barriers should really be enabled to do an apple-to-apple comparison, so it is the only option I wish to manually enable.

Regards.
 
 
#3 Oliver 2012-07-15 14:57
From official fedora documentation, Fedora 17 features the 3.3.4 Linux kernel [1].

However, I read on the first page of this article [2] the use of Fedora 17 3.4.x kernel branch.

I may be wrong (I do not use Fedora) but please explain where have you find this Linux kernel version within Fedora 17.

PS: I like article of this high quality, thanks ;)

[1] http://docs.fedoraproject.org/en-US/Fedora/17/html/Release_Notes/sect-Release_Notes-Changes_for_Sysadmin.html#id579836
[1] http://en.wikipedia.org/wiki/Fedora_%28operating_system%29#cite_ref-47

[2] http://www.ilsistemista.net/index.php/linux-a-unix/33-btrfs-vs-ext3-vs-ext4-vs-xfs-performance-on-fedora-17.html
 
 
#4 Gionatan Danti 2012-07-15 16:39
Hi Oliver,
you are right: F17 base image ships with kernel version 3.3.x.

However, a yum update resulted in kernel 3.4.x being installed, so I tested with this updated kernel release.

See here also: https://bugzilla.redhat.com/show_bug.cgi?id=754481

Regards.
 
 
#5 Oliver 2012-07-15 22:44
Thanks

OK I see "F16 and F17 will be rebased around the time 3.4.1 is released" on the bottom of the page.
 

You have no rights to post comments