The purge operations (a type of garbage collection) that InnoDB performs automatically may be performed by one or more separate threads rather than as part of the master thread. The use of separate threads improves scalability by allowing the main database operations to run independently from maintenance work happening in the background.
To control this feature, increase the value of the configuration
option innodb_purge_threads
. If
DML action is concentrated on a single table or a few tables, keep
the setting low so that the threads do not contend with each other
for access to the busy tables. If DML operations are spread across
many tables, increase the setting. Its maximum is 32.
innodb_purge_threads
is a
non-dynamic configuration option, which means it cannot be
configured at runtime.
There is another related configuration option,
innodb_purge_batch_size
with a
default value of 300 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.8, “Optimizing InnoDB Disk I/O”.