As described in Section 7.7, “Changes in the Read-Ahead Algorithm” a
read ahead request is an asynchronous IO request issued in
anticipation that the page being read in will be used in near
future. It can be very useful if a DBA has the information about
how many pages are read in as part of read ahead and how many of
them are evicted from the buffer pool without ever being accessed.
Based on this information a DBA can then fine tune the degree of
aggressiveness of the read ahead using the parameter
innodb_read_ahead_threshold
.
Starting from InnoDB storage engine 1.0.5 two new status variables are
added to the SHOW STATUS
output. These global
status variables Innodb_buffer_pool_read_ahead
and Innodb_buffer_pool_read_ahead_evicted
indicate the number of pages read in as part of read ahead and the
number of such pages evicted without ever being accessed
respectively. These counters provide global values since the start
of the server. Please also note that the status variables
Innodb_buffer_pool_read_ahead_rnd
and
Innodb_buffer_pool_read_ahead_seq
have been
removed from the SHOW STATUS
output.
In addition to the two counters mentioned above SHOW
INNODB STATUS
will also show the rate at which the read
ahead pages are being read in and the rate at which such pages are
being evicted without being accessed. The per second averages are
based on the statistics collected since the last invocation of
SHOW INNODB STATUS
and are displayed in the
BUFFER POOL AND MEMORY
section of the output.
This is the User’s Guide for InnoDB storage engine 1.1 for MySQL 5.5, generated on 2010-04-13 (revision: 19994) .