Large HDD/SSD Linux 2.6.38 File-System Comparison: EXT3, EXT4, Btrfs, XFS, JFS, ReiserFS, NILFS2
When running the PostgreSQL database server on the seven file-systems and two tests, the results were not what we had expected. Btrfs nor EXT4 were the fastest. On the Seagate SATA HDD, ReiserFS and NILFS2 were the fastest while right behind those two was JFS. With the SSD, JFS was the fastest with its default mount options followed by ReiserFS and then NILFS2. EXT4 and Btrfs (and EXT3) were much slower with the respective default mount options.
EXT3 and its default mount options -- with barriers disabled -- were the fastest for SQLite on the HDD followed by NILFS2 and then ReiserFS. Btrfs was the slowest for the SQLite test on both the HDD and SSD, which is not too surprising and is something we have noticed quite some time for this particular test case. In regards to the OCZ SSD, the JFS file-system faired particularly well.
For the PostMark test profile, EXT4 did particularly well in both configurations. JFS on the SSD was, again, surprisingly fast. The Btrfs performance came in slightly behind EXT4. XFS and NILFS2 were the slowest with this test profile.