Starting in MySQL 5.5, the purge operations (a type of garbage collection) that InnoDB performs automatically can be done in a separate thread rather than as part of the master thread. This change improves scalability by allowing the main database operations to run independently from maintenance work happening in the background.
To enable this feature, set the configuration option
1, as opposed to the default of 0, which
combines the purge operation into the master thread.
innodb_purge_threads is a
non-dynamic configuration option, which means it cannot be
configured at runtime.
You might not notice a significant speedup, because the purge
thread might encounter new types of contention; the single purge
thread really lays the groundwork for further tuning and possibly
multiple purge threads in the future. There is another new
innodb_purge_batch_size with a
default value of 20 and maximum value of 5000. This option is
mainly intended for experimentation and tuning of purge
operations, and should not be interesting to typical users.
For more information about InnoDB I/O performance, see Section 8.5.7, “Optimizing InnoDB Disk I/O”.