14.6.3.3 Making the Buffer Pool Scan Resistant
14.6.3.3 Making the Buffer Pool Scan Resistant 相比使用一个严格的LRU算法,InnoDB 使用一个技术来最小化数据总量 带入到buffer pool 而不被再次访问。 目标是确保频繁访问的热的Pages停留在buffer pool里, 即使预读和全表扫描带入到新的blocks 以后不会再被访问 新读取的blocks 是插入到LRU列表的中间, 所有新读取的Pages是插入在默认是3/8的位置lru 列表的尾部。 pages会被移动到列表的前面(最常使用的尾部) 当它们被访问在buffer pool 对于首次访问。 这样, pages 不会再访问 不会让他到LRU列表的全面部分, 很快淘汰在一个严格的LRU 方法。 这种安排把LRU列表分成2个部分, 插入点的下面被认为是老的 会被驱逐 对于一个InnoDB buffer pool 内存网络的活动,指定LRU 算法 你可以控制插入点在LRU列表中,选择是否InnoDB 应用相同的优化对于带入到Buffer pool通过表或者索引扫描。 配置参数innodb_old_blocks_pct 控制了old blocks的比例在LRU列表里。 默认值是37, 相应的比例是3/8. 优化 保持Buffer pool 避免被搅动通预读可以避免类似问题由于表或者索引扫描。 在这些扫描中,一个数据页通常被访问很少的时间 不会再次被访问。 配置参数innodb_old_blocks_time 指定了时间单位毫秒 在第一次访问后一个page 可以被访问不需要移动到前端(最常使用列表的尾端) 增加这个值 让更多的blocks 看起来更快的age out innodb_old_blocks_pct and innodb_old_blocks_time 都是动态的 因此那些参数的影响可以基于你的硬件配置,你的数据和你的负载的细节 当扫描大的表不能整个放进Buffer pool,设置 innodb_old_blocks_pct 为一个小的值 让数据只读一次的消耗很大一部分buffer pool. 比如,你设置 innodb_old_blocks_pct=5 限制了这个数据只读一次到buffer pool的5%
14.6.3.3 Making the Buffer Pool Scan Resistant的更多相关文章
- 14.4.3.3 Making the Buffer Pool Scan Resistant
14.4.3.3 Making the Buffer Pool Scan Resistant 让Buffer Pool 扫描 相比使用一个严格的LRU算法, InnoDB 使用一个技术来最小化数据的总 ...
- 14.4.3.1 The InnoDB Buffer Pool
14.4.3.1 The InnoDB Buffer Pool 14.4.3.2 Configuring Multiple Buffer Pool Instances 14.4.3.3 Making ...
- 14.6.3.5 Configuring InnoDB Buffer Pool Flushing
14.6.3.5 Configuring InnoDB Buffer Pool Flushing InnoDB 执行某些任务在后台, 包括脏叶的刷新(那些已经发生改变的pages 但是没有写入到数据文 ...
- 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/ ...
- 14.6.3.2 Configuring Multiple Buffer Pool Instances 配置多个Buffer Poll 实例:
14.6.3.2 Configuring Multiple Buffer Pool Instances 配置多个Buffer Poll 实例: 对于系统有多个buffer pools 在多个字节范围, ...
- 14.6.3.1 The InnoDB Buffer Pool
14.6.3.1 The InnoDB Buffer Pool InnoDB 保持一个存储区域被称为buffer pool 用于cache数据和索引在内存里, 知道InnoDB buffer pool ...
- 14.4.3.6 Fine-tuning InnoDB Buffer Pool Flushing 微调 InnoDB Buffer Pool 刷新:
14.4.3.6 Fine-tuning InnoDB Buffer Pool Flushing 微调 InnoDB Buffer Pool 刷新: innodb_flush_neighbors an ...
- 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 脏 ...
- 14.4.3.4 Configuring InnoDB Buffer Pool Prefetching (Read-Ahead) 配置InnoDB Buffer pool 预读
14.4.3.4 Configuring InnoDB Buffer Pool Prefetching (Read-Ahead) 配置InnoDB Buffer pool 预读 一个预读请求 是一个I ...
随机推荐
- 使用passenger在Centos7部署Puma+Nginx+Ruby on Rails
安装ruby环境 RVM(ruby版本管理工具)安装 gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A170311 ...
- android本地定时通知
android本地通知略有不同,分为立即触发和延时触发 1.即时通知 android默认的Notification为立即触发 Intent intent = new Intent(Intent.ACT ...
- codeforces 505C Mr. Kitayuta, the Treasure Hunter(dp)
题意:有30001个岛,在一条线上,从左到右编号一次为0到30000.某些岛屿上有些宝石.初始的时候有个人在岛屿0,他将跳到岛屿d,他跳跃的距离为d.如果当前他跳跃的距离为L,他下一次跳跃的距离只能为 ...
- 第八篇:web之前端踩的一些坑
前端踩的一些坑 前端踩的一些坑 本节内容 事件代理 清除标签的所有事件 bootstrap的模态框自定义方法 ajax在django里面实现post提交 ajax提交数据嵌套 1.事件代理 之前写 ...
- C#发送邮件-C#教程
如何利用C#实现邮件发送功能?闲话不多说请看代码: public static void SendMail(MyEmail email){//发送验证邮箱邮件.//1.创建邮件MailMessage ...
- MYSQL批处理
待更新 版权声明:本文为博主原创文章,未经博主允许不得转载.
- Mysql DB2等数据库分页的实现
一.Mysql的分页 (一).MySQL分页的实现,使用关键字:Limit 语法:select * from tableName Limit A,B; 注释:tableName:表名 A:查询的 ...
- 清楚form表单数据的便捷jQuery之法
有时候可能需要实现这样的效果:注册表单或者地址表单等填写多个记录之后,想要清除重新填写,如果一个个删除非常麻烦,因此这时清除按钮非常必须.接下来为您详细介绍两个自己经历的便捷方法,需要了解的朋友参考下 ...
- Oracle 11g服务
成功安装Oracle 11g后,共有7个服务, 这七个服务的含义分别为: 1. Oracle ORCL VSS Writer Service: Oracle卷映射拷贝写入服务,VSS(Volume S ...
- Top 12 Best Free Network Monitoring Tools (12种免费网络监控工具)
1) Fiddler Fiddler(几乎)是适用于任何平台和任何操作系统的最好的免费网络工具,并提供了一些广受欢迎的关键特性.如:性能测试.捕捉记录HTTP/HTTPs请求响应.进行web调试等很多 ...