Starting in InnoDB 1.1 with 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, because the main database operations run independently from maintenance work happening in the background.
To enable this feature, set the configuration option
innodb_purge_threads=1
, as opposed to the
default of 0, which combines the purge operation into the master
thread.
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
configuration option, innodb_purge_batch_size
with a default of 20 and maximum 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 7.5.7, “Optimizing InnoDB
Disk I/O”.