Ok, it is now time to test some real-world applications. The first on the list is the mysql database system, benchmarked using Sysbench mysql test module.
Lets see how much time each filesystem requires to create a 100K rows test database:
All filesystems perform similarly here. What happen if we begin to hammer the database with thousand of read (select) requests?
In this simple read test, we see that ext3 and xfs take the lead, followed by ext4 and finally by btrfs.
What about the much more intensive, read-write transactional test?
Ext3 is the faster here, followed by xfs, btrfs and ext4.
From Sysbench tests, it seems that ext3 and xfs should be the preferred filesystems for mysql workload. Will the integrated mysql-bench benchmark confirm this statement?
Mmm... yes and no. Ext3 is no faster then ext4 here, but xfs continue its strong show: its creation time is the lower, by a big margin. Btrfs contine to be the slower of the group in mysql: its very high creation time obscure the competitive insert and select performances. All filesystems show the same CPU usage time, indicating that performance was never limited by CPU performance but rather by the low I/O speed.
So, in the end, it seems that xfs is the preferred filesystem for intensive mysql workloads. On the other hand, if you discard the creation times, each filesystem performs more or less the same (with ext3 slightly behind).