The Performance Of EXT4 Then & Now

Written by Michael Larabel in Software on 19 January 2010 at 07:17 AM EST. Page 6 of 6. 42 Comments.

The performance of PostgreSQL has been suppressed since the introduction of the Linux 2.6.32 kernel atop the EXT4 file-system. When using the nobarrier option the number of transactions per second had nearly doubled. However, even when using this EXT4 mount option, the 222 TPS that it had produced is still significantly less than 560~598 TPS that can be found in pre-2.6.32 kernels. In other words, there are still significant performance penalties in the more recent kernels.

The number of files handled per second with FS-Mark more than tripled when the Linux file-system was mounted with this no barrier option.

As the results in this article show, there are some dramatic performance drops with the EXT4 file-system that have occurred since this evolutionary file-system was marked stable in the Linux 2.6.28 kernel. Most of these drops are occurring as kernel developers work to improve the reliability and safety of this file-system, as we have shared numerous times now. Some of the biggest hits have occurred with the read performance in test scenarios like IOzone between the Linux 2.6.30 and 2.6.31 kernels where the performance was severely dampened. In the Linux 2.6.32 kernel due to EXT4 fsync changes, the PostgreSQL performance was slaughtered with pre-2.6.32 kernels being five times faster.

While there are severe performance drops, there have also been some dramatic gains in the opposite direction as well. With PostMark the number of transactions per second was more than doubled between the 2.6.29 and 2.6.30 kernels, Dbench is improving with the latest Linux 2.6.33 kernel, and AIO-Stress exhibited some nice gains as well beginning with the Linux 2.6.30 kernel.

Worth reading if you are interested in more of these EXT4 performance changes are Autonomously Finding Performance Regressions In The Linux Kernel where a lone EXT4 commit is talked about, EXT4 vs. Btrfs benchmarks on Linux 2.6.32, and earlier EXT4 / Btrfs / NILFS2 benchmarks. Of course, you can repeat these tests yourself using the Phoronix Test Suite. New Btrfs results will also be published with the Linux 2.6.33 kernel later this week.

If you enjoyed this article consider joining Phoronix Premium to view this site ad-free, multi-page articles on a single page, and other benefits. PayPal or Stripe tips are also graciously accepted. Thanks for your support.


Related Articles
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.