mysql> set global innodb fast=true;

Remember, this client is not a financial site, so the parameter of interest becomes innodb_log_flush_at_trx_commit. Setting this to 0 means that InnoDB will no longer flush every commit to disk. It will still do a flush every one second or so anyway, so in the worst case you may lose about one second worth of data. But on the other side, your disk is now freed up to do reads for you at full speed. The result — the site is fast again. Or, in the words of a user on the site: “OMFG someone fed the Hamster…the wheel is spinning again!”

MySQL tuning is such a black art. This is a cool trick for non-financial sites that can tolerate small amounts of data loss.

views