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

时间:2022-12-25 02:25:56
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. win10中将默认输入法设置为英文

    开始 设置 时间和语言 区域和语言 语言--中文--选项 微软拼音输入法--选项 IME默认模式--英语

  2. 6 this的使用方法

    class Person { String name; void talk() { System.out.println("my name is "+this.name); } } ...

  3. 如何从innodb的数据字典里恢复表结构

    需要学会使用percona-data-recovery-tool-for-innodb,用这个:sys_parser,参考这篇文章,

  4. linux命令备忘

    yum info softname 查看安装包信息 yum install softname 安装包名 安装 nginx http://jingyan.baidu.com/article/aa6a2c ...

  5. Oracle单表的复杂查询

    Oracle单表的复杂查询 select avg(sal),max(sal),deptnofrom empgroupby deptno; orderby deptno; 查询工资高于500或者是岗位为 ...

  6. [Erlang危机](5.1.0)VM检测概述

    原创文章.转载请注明出处:server非业余研究http://blog.csdn.net/erlib 作者Sunface 把执行指标储存在VM的内存中.能够指定是全局的还是app所特有的. • vms ...

  7. IndexAction.java (Java之负基础实战)

    生成Get and Set 方法: 例如:public String view; 右击view > Source > Generate Getters and Setters...

  8. pycharm中进行带参数的调试

    之前基本都是用print进行调试的,但今天程序运行完需要等很长时间,就尝试pycharm调试. 但是在运行程序需要传递参数,之前只会点击bug按钮直接运行程序,不知道调试的时候传入参数. 运行---& ...

  9. python的sys模块

    Sys模块函数之多,我只能选取自己认为比较实用的一些函数列在此处.借马云找员工的说法,"找最合适的而不是最天才的",这句话,我个人觉得在很多方面都能适应,学习也不在话下.Sys模块 ...

  10. linux,windows下检测指定的IP地址是否可用或者检测IP地址冲突的3种方式(批处理程序,python程序,linux shell 批量ping)

    本文中的脚本适用范围: 1)检测某些IP地址是否被占用: 2)检测网络中某些设备是否存活: 3)在分配新的ip地址之前,批量检测环境中是否存在冲突的机器 以上检测基于ICMP Ping报文,要求所有的 ...