14.3.3 InnoDB Buffer Pool Configuration InnoDB Buffer Pool 配置:

14.3.3 InnoDB Buffer Pool Configuration InnoDB Buffer Pool 配置:

14.3.3.1 Configuring InnoDB Buffer Pool Prefetching (Read-Ahead)
14.3.3.2 Configuring the Rate of InnoDB Buffer Pool Flushing
14.3.3.3 Making the Buffer Pool Scan Resistant
14.3.3.4 Using Multiple Buffer Pool Instances
14.3.3.5 Preloading the InnoDB Buffer Pool for Faster Restart
14.3.3.6 Tuning InnoDB Buffer Pool Flushing

本章节为InnoDB buffer pool 提供相关的配置信息。

14.3.3.1 Configuring InnoDB Buffer Pool Prefetching (Read-Ahead) InnoDB 缓冲池配置预读

一个预读请求是一个I/O 请求来预取多个Pages zai buffer pool 异步的,

预计 那些页很快会被需要。 请求在某种程度上带来所有的页面。

InnoDB 使用2次预读算法来改善I/O性能。

线性预读是一种技术,该技术可以预测 什么pages 可能很快需要在Buffer pool里被访问的。

你控制当InnoDB 执行一个预读的操作通过调整顺序页面访问的此时 需要出发异步读取请求,

通过配置参数 innodb_read_ahead_threshold. 在这个参数被添加前,

InnoDB 只计算书否执行一个异步的预取操作对于整个next extent

它可以设置为0-64之间的任何值。 默认是56,值越高,访问模式检查越严格。

比如,如果你设置值为48, InnoDB 触发一个线性的预读请求 只有当48页 在当前的extent 已经被顺序访问。

如果该值为8,InnoDB 会触发一个异步的预读 尽管只有8页 在extent 被顺序访问。

随机预读是一种技术,预测当pages 可能被马上需要 基于已经在buffer pool里的页,

不管这些pages被读取的顺序。如果 12连续的也从相同的extent 在buffer pool中被找到,

InnoDB 异步请求来预取extent剩下的页。为了启动这个功能,设置innodb_random_read_ahead为ON

默认:
| innodb_random_read_ahead | OFF |

原文地址:https://www.cnblogs.com/hzcya1995/p/13351185.html