14.4.3.4 Configuring InnoDB Buffer Pool Prefetching (Read-Ahead)   配置InnoDB Buffer pool 预读

一个预读请求 是一个I/O请求来预取多个页 在buffer poo里 一般的,

预计 那些页面很快会被需要。 请求把所有的pages 到一个extent.

InnoDB 使用2种预读算法来改善性能。

线性预读 是一种技术预测什么页面可能被马上需要基于在buffer 中的pages 被顺序访问。

你控制 当InnoDB 执行一个预读操作通过调整顺序page 访问的数目来触发异步请求,

使用配置参数 innodb_read_ahead_threshold。

在这个参数增加前,InnoDB 只会计算是否执行一个异步预取请求对于整个next extent 

 innodb_read_ahead_threshold 配置参数 控制InnoDB的敏感程度是检测顺序page 访问的模式。

如果按顺序读取的page的数量从一个extent 是大于或者等于innodb_read_ahead_threshold,

InnoDB 初始一个异步的预读操作 读取整个接下来的extent.

mysql> show variables like '%innodb_read_ahead_threshold%';
+-----------------------------+-------+
| Variable_name | Value |
+-----------------------------+-------+
| innodb_read_ahead_threshold | 56 |
+-----------------------------+-------+
1 row in set (0.00 sec) innodb_read_ahead_threshold 可以设置为0-64 默认值是56. 值越高,访问模式检查越严格。 比如,你设置值为48,InnoDB 触发一个线性的预读请求只有当48个页 在当前的extent 已经被顺序访问。 如果值为8,InnoDB 触发一个异步预读甚至只要8个pages 在extent被顺序访问。 你可以设置这个参数的值在MySQL的配置文件,或者动态的改变它使用SET GLOBAL,需要SUPER权限 随机预读 是一个技术预测 当pages 马上需要基于已经在buffer pool的pages, 无论那些页面被顺序读取。 如果13连续的页从相同的extent 被找到,InnoDB 异步执行一个请求来 获取extent里剩下的pages. 启用这个功能,设置配置变量 mysql> show variables like '%innodb_random_read_ahead%';
+--------------------------+-------+
| Variable_name | Value |
+--------------------------+-------+
| innodb_random_read_ahead | OFF |
+--------------------------+-------+
1 row in set (0.00 sec) SHOW ENGINE INNODB STATUS 命令显示信息来帮助你预估 预读算法的有效性

14.4.3.4 Configuring InnoDB Buffer Pool Prefetching (Read-Ahead) 配置InnoDB Buffer pool 预读的更多相关文章

  1. 14.6.3.5 Configuring InnoDB Buffer Pool Flushing

    14.6.3.5 Configuring InnoDB Buffer Pool Flushing InnoDB 执行某些任务在后台, 包括脏叶的刷新(那些已经发生改变的pages 但是没有写入到数据文 ...

  2. 14.6.3.4 Configuring InnoDB Buffer Pool Prefetching (Read-Ahead) 配置InnoDB Buffer pool 预取

    14.6.3.4 Configuring InnoDB Buffer Pool Prefetching (Read-Ahead) 配置InnoDB Buffer pool 预取 一个预读请求是一个I/ ...

  3. 14.4.3.5 Configuring InnoDB Buffer Pool Flushing 配置InnoDB Buffer Pool 刷新:

    14.4.3.5 Configuring InnoDB Buffer Pool Flushing 配置InnoDB Buffer Pool 刷新: InnoDB执行某些任务在后台, 包括flush 脏 ...

  4. 14.6.3.2 Configuring Multiple Buffer Pool Instances 配置多个Buffer Poll 实例:

    14.6.3.2 Configuring Multiple Buffer Pool Instances 配置多个Buffer Poll 实例: 对于系统有多个buffer pools 在多个字节范围, ...

  5. 14.4.3.2 Configuring Multiple Buffer Pool Instances 配置多个buffer pool 实例:

    14.4.3.2 Configuring Multiple Buffer Pool Instances 配置多个buffer pool 实例: 对于系统 buffer pool 有多个G的范围, 把b ...

  6. 14.6.8 Configuring the InnoDB Master Thread IO Rate 配置InnoDB 主线程IO 速率:

    14.6.8 Configuring the InnoDB Master Thread IO Rate 配置InnoDB 主线程IO 速率: 主线程 在InnoDB 是一个线程 执行各种任务在后台. ...

  7. 14.6.5 Configuring InnoDB Change Buffering 配置InnoDB Change Buffering

    14.6.5 Configuring InnoDB Change Buffering 配置InnoDB Change Buffering 当插入,更新,和删除操作在表上执行, 索引列的值(特别是 se ...

  8. 14.4.8 Configuring the InnoDB Master Thread IO Rate 配置InnoDB Master Thread I/O Rate

    14.4.8 Configuring the InnoDB Master Thread IO Rate 配置InnoDB Master Thread I/O Rate 主的master thread ...

  9. 14.4.5 Configuring InnoDB Change Buffering 配置InnoDB Change Buffering

    14.4.5 Configuring InnoDB Change Buffering 配置InnoDB Change Buffering 当INSERT,UPDATE,和删除操作在表上操作, 索引列的 ...

随机推荐

  1. 深入浅出单实例Singleton设计模式

    深入浅出单实例Singleton设计模式 陈皓 单实例Singleton设计模式可能是被讨论和使用的最广泛的一个设计模式了,这可能也是面试中问得最多的一个设计模式了.这个设计模式主要目的是想在整个系统 ...

  2. 在 Windows Azure 网站上使用 Django、Python 和 MySQL:创建博客应用程序

    编辑人员注释:本文章由 Windows Azure 网站团队的项目经理 Sunitha Muthukrishna 撰写. 根据您编写的应用程序,Windows Azure 网站上的基本Python 堆 ...

  3. linux服务之NFS和SAMBA服务

    这几种网络文件传输最适合局域网.网络中用FTP 一:NFS服务 nfs(network file system)网络文件系统,改服务依赖于rpcbind服务.client通过rpc訪问server端的 ...

  4. 十天学习PHP之第四天

    学习目的:学会连接数据库  PHP简直就是一个函数库,丰富的函数使PHP的某些地方相当简单.建议大家down一本PHP的函数手冊,总用得到. 我这里就简单说一下连接MYSQL数据库.  1.mysql ...

  5. Resist the Temptation of the Singleton Pattern

    Resist the Temptation of the Singleton Pattern Sam Saariste THE SiNGLETON PATTERN SOLVES MANY OF YOU ...

  6. c:foreach如何嵌套循环,求指教,求优化

    java类: public class PopedomItem { private String id; private String pid; private String name; privat ...

  7. [Oracle]TRIGGER

    题外话: Oracle 的使用. 以前客户方用的是SQL SERVER,一直在用SQL SERVER,感觉SQL SERVER的用户体验非常好. 不管是开发环境的界面布局到SQL 的写法上,感觉写起来 ...

  8. <Win32_12>程序员求爱的创意程序——升级版^_^

    前段时间,我编写了一个创意程序,并用于向自己目前的女朋友表白,结果效果还不错,得到了她的芳心. 于是我将自己的创意程序共享到csdn资源上,大多数网友认为创意不错,就是简单了些——呵呵,其实我个人也这 ...

  9. Oracle的序列

    Oracle的序列 序列介绍 序列是Oracle提供的用于产生一系列唯一数字的数据库对象. 使用序列能够实现自己主动产生主键值.序列也能够在很多用户并发环境中使用.为所实用户生成不反复的顺序数字,并且 ...

  10. 树——axure线框图部件库介绍

    终于到最后一个组件的介绍了!到这里基础的应用应该算完成了!  1. 拖动树组件,到页面编辑区域  2.添加节点,可以添加子节点也可以在该节点的前后添加平级节点  3. 编辑节点图标 做好上面的那一步, ...