MySQL 5.5 degraded performance in linux kernel 3.2 compared to 2.6

Solution 1:

Linux kernels 3.0 - 3.8 should be avoided or upgraded to address IO performance degradation

Linux kernel IO performance degradation demonstrated by Josh Berkus using a private benchmark workload running against PostgreSQL 9.3 on Ubuntu 12.04 with kernel 3.2.0.

"...you really need to avoid every kernel between 3.0 and 3.8. While RHEL has been sticking to the 2.6 kernels (which have their own issues, but not as bad as this), Ubuntu has released various 3.X kernels for 12.04...upgraded...to kernel 3.13.0, and ran the same exact workload...an 80% reduction in IO. We can thank the smart folks in the Linux FS/MM group for hammering down a whole slew of performance issues."

Please see http://www.databasesoup.com/2014/09/why-you-need-to-avoid-linux-kernel-32.html

Solution 2:

I addressed an issue in the DBA StackExchange about the kernel and journaling. I learned this from Percona back in May that a certain flush behavior is actually simulated.

  • You may have to change how journaling is done.
  • You may have to tune InnoDB
    • Loosening ACID compliance for write performance (setting innodb_flush_log_at_trx_commit to 0 or 2)
    • Larger Logs Files
    • Larger Log Buffer