BTRFS vs EXT3 vs EXT4 vs XFS performance on Fedora 17

Written by Gionatan Danti on . Posted in Linux & Unix

User Rating:  / 19

Bonnie++ read/write speed

Lets start our analysis by evaluating sequential read/write speed and CPU usage with the Bonnie++ benchmark:

 BTRFS EXT3 EXT4 XFS: Bonnie++ sequential test

Things seems pretty similar here, with the exception of somewhat higher ext3 CPU load. What about random seeks performance?

BTRFS EXT3 EXT4 XFS: Bonnie++ random seek test

When not synching each request, all filesystems were equal. However, once we issue a sync command after each operation, btrfs is significantly slower and CPU-hungry then anything else. Some file type (eg: virtual machine images and large audio/video files) are often used with direct I/O (bypassing the O.S. page cache). Did the benchmarks depict a different picture in this case?

BTRFS EXT3 EXT4 XFS: Bonnie++ sequential direct test

While sequential output (read) speed take a hit across the board, the most penalized filesystem seems to be btrfs. The high CPU load is a consequence of bypassing the operating system's cache.

BTRFS EXT3 EXT4 XFS: Bonnie++ random seeks direct 

On the other side, random seek speeds are largely unaffected, as they depend more on the hard disk / filesystem combo than on access mode.


#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.

#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 ;)


#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:

#5 Oliver 2012-07-15 22:44

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