The Performance Of EXT4 Then & Now
Over the past week there has been a lot of talk about the EXT4 file-system following the announcement that Google is migrating their EXT2 file-systems to EXT4. Their reasons for this transition to EXT4 are attributed to the easy migration process and Google engineers are pleased with this file-system's performance. However, as we mentioned in that news post last week and in many other articles over the past weeks and months, EXT4 is not as great of a contender as it was in the past, well, for some tests at least. The performance of the EXT4 file-system commonly goes down with new kernel releases and not up, as kernel developers continue to introduce new safeguards to address potential data loss problems that initially plagued some EXT4 users. For our latest EXT4 benchmarks we have numbers that show this file-system's performance using a vanilla 2.6.28 kernel (when EXT4 was marked as stable) and then every major kernel release up through the latest Linux 2.6.33 release candidate.
We had installed Ubuntu 9.04 for this testing and left everything in its stock configuration except for swapping out the kernels. The kernels we used for testing were all obtained from the Ubuntu kernel mainline PPA. These kernels were the 64-bit versions of the 2.6.28, 2.6.29, 2.6.30, 2.6.31, 2.6.32, and 2.6.33-rc4 releases. We tested out a Linux 2.6.33 kernel release candidate as Phoromatic Tracker running in our kernel test farm had found a few performance drops on a solid-state drive with the EXT4 file-system in the current kernel development cycle, with new results being uploaded daily via Phoromatic at kernel-tracker.phoromatic.com. The EXT4 file-system mount options were left at their defaults (though at the end of this article we also have some results using the nobarrier mount option).
This latest round of file-system testing used the IOzone, Threaded I/O Tester, PostgreSQL, PostMark, Dbench, AIO-Stress, and FS-Mark tests, which were run under the Phoronix Test Suite. The system for this testing was an ASRock ION 330HT-BD NetTop with an Intel Atom 330 processor clocked at 1.80GHz (overclocked), ASRock AMCP7AION-HT motherboard, 2GB of system memory, NVIDIA GeForce 9400M ION graphics, and a 320GB Seagate ST9320325AS SATA HDD.