EXT3 vs EXT4 vs XFS vs BTRFS linux filesystems benchmark

Written by Gionatan Danti on . Posted in Linux & Unix

User Rating:  / 128

Testbed and methods

Benchmarking filesystems is not an easy task for many reasons:

  • there are endless usage scenarios, each with their specific requirements and usage patterns;

  • each filesystem has its custom options, each with the potential to modify its behavior considerably;

  • as stated above, you had to remember that different kernel releases can produce different benchmark results.

So, in order to give you consistent, reproducible results, I had to do some very important choices about the benchmarks, the options and the kernel to use. The benchmark suite is composed of some theoretical and real world test:

  • bonnie++ (version 1.96) is a synthetic test about read/write speed and metadata handling;

  • sysbench (version 0.4.12) is a semi-synthetic test about read/write speed and database performance (PostgreSQL in this case);

  • tar/untar and cat are representative of common real world usage patterns;

  • finally, filefrag is a very helpful filesystem utility able to monitor file fragmentation.

All filesystems where created with default options, using the mkfs.<fs> Linux utility.

File fragmentation level was checked after the write-intensive sysbench fileio test in order to find the most fragmentation-prone filesystem.

All tests were executed using a Fedora 14 x86_64 Live CD with stock kernel, while the benchmarks run over a filesystem created on a internal hard disk, which was mounted in /opt directory. The use of a Live CD enable me to fully isolate the tested hard disk / filesystem from the rest of the operating system. CPU frequency/voltage scaling was disabled and the system was used in text-only mode (no X running here).

All test were runs on a Dell D620 laptop. The complete system specifications are:

  • Core2 T7200 CPU @ 2.0 GHz

  • 4 GB of DDR2-667 RAM

  • Quadro NVS110 videocard (used in text-only mode)

  • a Seagate ST980825AS 7200 RPM 80 GB SATA hard disk drive (in IDE compatibility mode, as the D620's BIOS does not support AHCI operation)

  • O.S. Linux Fedora 14 x86_64 (booted from Live CD) with stock kernel and PostgreSQL 8.4.5-1


#1 Max 2012-08-26 15:49
Thank you for this very interesting article. I'll go with ext3, mostly because of your verdict for it being a good and balanced filesystem.
#2 Gionatan Danti 2012-08-26 16:11
Hi Max,
I'm happy that you found my article interesting.

However please note that, as you can read in the updates, EXT3 was incorrectly benchmarked with write barrier off, while all other filesystems used barrier on.

This means that EXT3 data were somewhat flawed. For up-to-date data, please read my latest article here: http://www.ilsistemista.net/index.php/linux-a-unix/33-btrfs-vs-ext3-vs-ext4-vs-xfs-performance-on-fedora-17.html

#3 Kuba 2012-10-09 15:01
Hi Gionatan,

Could you please let me know what sysbench parameter you have used to perform these tests?

#4 http:// 2014-03-08 09:57
I believe what you published was very reasonable. But,
what about this? suppose you typed a catchier post
title? I mean, I don't want to tell you how to run your website, however suppose you added something to possibly get people's attention?
I mean EXT3 vs EXT4 vs XFS vs BTRFS linux filesystems benchmark is a little vanilla.

You ought to glance at Yahoo's home page and see how they write
article headlines to get people to open the links.

You might add a video or a pic or two to get readers excited about everything've got to say.
Just my opinion, it could bring your website a little bit more interesting.

You have no rights to post comments