buffer pool的管理是lru算法管理buffer pool list,将list分成冷热区域,不频繁访问的快放入到old区,驱逐。这样如果又备份或预读取发生,那么热点数据会被驱逐出去,怎么降低这些操作的影响?有下面2个参数可以控制下。innodb_old_blocks_pct 和innodb_old_blocks_time,一个控制比例,一个控制时间
innodb_old_blocks_time
Non-zero values protect against the buffer pool being filled by data that is referenced only for a brief period, such as during a full table scan. Increasing this value offers more protection against full table scans interfering with data cached in the buffer pool.
Specifies how long in milliseconds a block inserted into the old sublist must stay there after its first access before it can be moved to the new sublist. If the value is 0, a block inserted into the old sublist moves immediately to the new sublist the first time it is accessed, no matter how soon after insertion the access occurs. If the value is greater than 0, blocks remain in the old sublist until an access occurs at least that many milliseconds after the first access. For example, a value of 1000 causes blocks to stay in the old sublist for 1 second after the first access before they become eligible to move to the new sublist.
The default value is 1000.
This variable is often used in combination with innodb_old_blocks_pct.