With Linux 2.6.32, Btrfs Gains As EXT4 Recedes

Written by Michael Larabel in Software on 14 December 2009 at 05:00 AM EST. Page 1 of 5. 67 Comments.

We have published articles containing EXT4 benchmarks many times now going back to our original real world benchmarks of EXT4 to when Ubuntu 9.04 received EXT4 support and when we ran a variety of file-system benchmarks on an Intel X25-E SSD. We had also thrown in EXT4 numbers when benchmarking Btrfs (and again with Btrfs 0.19) along with NILFS2 benchmarks. Each time has been with a different kernel and the performance of the different Linux file-systems continue to change as each file-system matures and picks up different features. Though with the Linux 2.6.32 kernel the EXT4 performance had changed a great deal due to a change that provides better data integrity on writes but at a significant performance cost. To see how this changes the Linux file-system landscape, atop the latest Linux kernel we have a fresh set of benchmarks for EXT3, EXT4, XFS, ReiserFS, and Btrfs.

We tested out these five Linux file-systems with their default mount options using Ubuntu 10.04 LTS Alpha 1 with its Linux 2.6.32 kernel. Our test system this time around was an Intel Core i7 920 quad-core processor with Hyper Threading that was clocked at 3.60GHz, the ASRock X58 SuperComputer motherboard, 3GB of DDR3 system memory, a GeForce 9800GTX graphics card, and the file-systems were tested on a solid-state drive that was the OCZ Agility EX 60GB.

Using the Phoronix Test Suite we ran the Dbench, IOzone, SQLite, PostMark, Threaded I/O Tester, Gzip, and FS-Mark test profiles. Besides the EXT4 change in the Linux 2.6.32 kernel, the Btrfs file-system in this most recent kernel release now has proper snapshot and sub-volume deletion support (along with the ability to rename snapshots and sub-volumes), discard support for SSD devices, and there are performance improvements too.

Beginning with the Dbench test profile, which we ran with client counts of 1, 6, 12, 14, and 128, EXT3 smoked the competition. However, with some of the client counts, the system memory came into play as you can see from some of the transfer speeds that are too high for this Serial ATA 2.0 SSD. EXT4 came in behind EXT3 while XFS and ReiserFS were ahead of the Btrfs file-system when running with one, six, and twelve clients. However, when running with 48 and 128 Dbench clients, Btrfs emerged faster than XFS and ReiserFS.

With the IOzone test profile when carrying out 8GB writes, the fastest file-system was found to be EXT4 while EXT3 was just slightly behind. XFS, ReiserFS, and Btrfs were all performing at about half the speed of EXT3/EXT4 with this very large file write. Btrfs was in fact the slowest at 70MB/s compared to EXT4's 157MB/s for this OCZ solid-state drive. When it came to the 8GB read speeds, however, Btrfs was the fastest. Btrfs read at 217MB/s while EXT4 was behind at 183MB/s and XFS/ReiserFS came in at 175MB/s.


Related Articles