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 ...
随机推荐
- PHP中的cookie创建取回删除;
<?php $expire=time()+3600;//设置过期cookie时间 setcookie('yaoyuan',"webyaoyuan",$expire);//se ...
- Razor的理解
[原创]Razor非常智能非常实用,不了解的人可能会觉得有没有都无所谓,其实不然,起初对Razor不是太了解,现在想想Razor就是来标示出C#语法的,但是HTML和C#混合输出时到底@这个小老鼠到底 ...
- Servie学习总结
一.什么是Service Service是一个应用程序组件,它是安卓实现程序后台运行的一个解决方案. 二.分类 服务有两种类别started.bound.但是一个服务类所要继承的类是一样的,都是Ser ...
- ViewPage实现幻灯广告墙
ViewPage实现幻灯广告墙 功能简介 类似幻灯片功能 自动切换图片 触摸停止切换图片 自带标题功能和切换圆点 核心功能实现方法 1. 布局 <LinearLayout xmlns:a ...
- Android eclipse - aapt.exe has stopped working.
今天在修改Android的布局文件的时候,发现每保存一次,就提示: aapt.exe has stopped working(appt.exe已停止工作).很是郁闷,当时Android控制台已经提示错 ...
- iOS程序员的自我修养之道
新技术的了解渠道 WWDC开发者大会视频 官方文档 General -> Guides -> iOS x.x API Diffs 程序员的学习 iOS技术的学习 官当文档 Sample C ...
- Android更新UI的两种方法——handler与runOnUiThread()
在Android开发过程中,常需要更新界面的UI.而更新UI是要主线程来更新的,即UI线程更新.如果在主线线程之外的线程中直接更新页面 显示常会报错.抛出异常:android.view.ViewRoo ...
- 倒置字符串s中各字符的位置
倒置字符串s中各字符的位置 其中reverse函数可以写成更紧凑的形式 void reverse(char s[]){ int c,i,j; ,j=strlen(s)-;i<j;i++,j--) ...
- Java学习----字符串函数
1.String string类是最终类,不可以有子类 package com.demo.pkg1; public class TestString { public static void main ...
- jQuery EasyUI 1.4.4 Combobox无法检索中文输入的问题
在项目里使用了EasyUI的Combobox,当ComboBox的item是英文时,都能正常检索出对应项,但是如果使用中文输入法输入几个字母然后通过按shift键输入时,奇怪的事情发生了,combob ...