Now that the Linux 2.6.37 kernel merge window is closed and this next major release is in the middle of its development cycle, we have new benchmarks to publish looking at the file-system performance of Btrfs and EXT4 compared to earlier releases. The Linux file-system performance is under constant evolution as shown by our five years of Linux kernel benchmarks and more recent file-system-focused articles such as looking at EXT4 and Btrfs regressions in Linux 2.6.36, solid-state drive Linux benchmarks, and even ZFS-FUSE benchmarks, among other similar articles.
With this article, we looked at the EXT4 and Btrfs file-system performance atop an OCZ Agility EX 64GB SSD under the Linux 2.6.35, 2.6.36, and 2.6.37 (built from Git on 2010-11-03) kernels. Besides the high-performance OCZ SSD, the rest of the test system consisted of an AMD Opteron 2384 Quad-Core 2.7GHz processor, a Tyan S2927 motherboard, 4GB of system memory, and an ATI Radeon HD 4870 512MB graphics card.
This AMD Opteron Linux workstation was running the Ubuntu 10.10 (x86_64) operating system with GNOME 2.32, X.Org Server 1.9.0, xf86-video-ati 6.13.1, and GCC 4.4.5. Ubuntu 10.10 was reinstalled completely when switching the root file-system from EXT4 to Btrfs using the alternate Debian installer that supports setting up a root Btrfs file-system (but a non-Btrfs /boot/ partition is needed).
Via the Phoronix Test Suite we benchmarked the Linux 2.6.35/2.6.36/2.6.37-Git releases with Apache, PostgreSQL, PostMark, SQLite, Gzip, Unpack Linux, Threaded I/O Tester, and IOzone.
Beginning with the Apache web-server test profile, the EXT4 performance actually drops with the Linux 2.6.37 kernel that was tested while it improved with Btrfs. The Btrfs Apache performance is nearly where it was at with the Linux 2.6.35 kernel on this OCZ SSD while with the EXT4 file-system it is at a low-point.
With the PostgreSQL database server, the Btrfs and EXT4 performance on Linux 2.6.37 is effectively the same as where it was at with the Linux 2.6.36 kernel.
The PostMark performance for EXT4 and Btrfs is also close to the same on Linux 2.6.37.