The past few Linux kernel releases have brought a number of new file-systems to the Linux world, such as with EXT4 having been stabilized in the Linux 2.6.28 kernel, Btrfs being merged into Linux 2.6.29, and most recently the NILFS2 file-system premiering with the Linux 2.6.30 kernel. Other file-systems have been introduced too during the past few Linux kernel release cycles, but these three have been the most talked about and are often looked at as being the next-generation Linux file-systems. Being the benchmarking junkies that we are, we have set out to compare the file-system performance of EXT4, Btrfs, and NILFS2 under Ubuntu using the Linux 2.6.30 kernel. We also looked at how these file-systems compared to EXT3 and XFS.
Before we begin, here is a quick summary of these three new file-systems. EXT4 is the successor to EXT3 and this file-system can now support volumes up to 1 Exabyte, introduces Extents to replace traditional block mapping, supports persistent pre-allocation and delayed allocation for improving performance, brings journal check-summing to the EXT family, and file-system checking is faster under EXT4. Previously we delivered real-world benchmarks of EXT4and found it to be a nice performance step above EXT3 in a majority of the tests. Install-time support for EXT4 was introduced with Ubuntu 9.04. EXT3 has been in the Linux kernel since 2001 and is what a majority of the Linux desktop distributions had been using as the default file-system.
Labels: benchmark, filesystem, kernel, linux