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 storage engine 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 depends 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 storage engine 1.1 for MySQL 5.5, generated on 2010-04-13 (revision: 19994) .
