The master thread in InnoDB is a thread that performs various tasks in the background. Most of these tasks are I/O related like flushing of the dirty pages from the buffer cache or writing the buffered inserts to the appropriate secondary indexes. The master thread attempts to perform these tasks in a way that does not adversely affect the normal working of the server. It tries to estimate the free I/O bandwidth available and tune its activities to take advantage of this free capacity. Historically, InnoDB has used a hard coded value of 100 IOPs (input/output operations per second) as the total I/O capacity of the server.
Beginning with InnoDB Plugin 1.0.4, a new configuration
parameter is introduced to indicate the overall I/O capacity
available to InnoDB. The new parameter innodb_io_capacity
should be set to approximately the number of I/O operations
that the system can perform per second. The value will of course
depend on your system configuration. When innodb_io_capacity
is set, the master threads estimates the I/O bandwidth available
for background tasks based on the set value. Setting the value
to 100
reverts to the old behavior.
You can set the value of innodb_io_capacity
to any number
100 or greater, and the default value is 200
.
You can set the value of this parameter in the MySQL option file
(my.cnf
or my.ini
) or change
it dynamically with the SET GLOBAL
command,
which requires the SUPER
privilege.
This is the User’s Guide for InnoDB Plugin 1.0.6 for MySQL 5.1, generated on March 4, 2010 (rev 673:680M).