
On Wed, 23 May 2012 16:16:42 +1000, Russell Coker <russell@coker.com.au> wrote:
Basically, it's still; step 1 for database performance: use XFS.
Does XFS have features equivalent to L2ARC and ZIL? How can a filesystem without such features compare?
Some people use FlashCache with MySQL/Percona Server, this has the benefit of providing a L2 cache to a block device. The big performance boost comes from the file system getting out of the way of the database and having very little impact on the IO paths. e.g. XFS is one of the few (only?) filesystem that allows multiple simultaneous O_DIRECT writers on the same inode. The O_DIRECT write-in-place workload of database servers with many fsync() calls for whatever reason (well, there's several) don't mix well with ZFS/btrfs style filesystems. Well, they do for correctness, just not for performance.
Also for a database like MySQL that doesn't have anything in the way of data checksums then surely the only thing to do is to use a filesystem like BTRFS or ZFS.
innodb has a checksum for each page. MyISAM doesn't, but it's not crash safe anyway. The replication log, in 5.6 does have a checksum now (IIRC) -- Stewart Smith