Bonnie++ file operations speed
Bonnie++ enable us to test not only raw read/write speed, but file operations performance also. So, what is the faster filesystem in managing large amount of small files?
In classical mode (using the page cache and without forced sync) we see that ext3 and ext4 are the leaders, with btrfs firmly at third place but using way more CPU than the others when dealing with file deletions. XFS is the slower here but, thank to the much-needed metadata handling optimizations that found their way into previous kernel releases, it retain adequate speed.
Synching each operation led us to very different results: all filesystem had massive performance hit, and the faster is xfs now. Btrfs results are quite peculiar: it is the slower of the pack when creating files, but it is way faster in file deletion where it behaves as in no-sync mode. Evidently file deletion is a very fast operation on btrfs. What about creating/deleting file using direct mode (without host side page cache)?
The results closely mirror what we saw in the normal, cache-friendly mode.
The same thing can be said for direct + synch files creation and deletion. Again, note the very high BTRFS deletion speed.
These similar results are somewhat expected: files creation and deletion are two metadata-intensive operations, only slightly affected by the access mode (direct vs cache-based).