您的位置:首页 > Web前端

14.6.3.5 Configuring InnoDB Buffer Pool Flushing

2016-11-10 09:47 423 查看
14.6.3.5 Configuring InnoDB Buffer Pool Flushing

InnoDB 执行某些任务在后台, 包括脏叶的刷新(那些已经发生改变的pages 但是没有写入到数据文件)从buffer pool

InnoDB 开始刷新buffer pool pages 当脏叶的比例在buffer pool 达到 低水位设置通过innodb_max_dirty_pages_pct_lwm设置

这个选项是控制 脏页的比例在buffer pool,防止 脏叶的比例超过 innodb_max_dirty_pages_pct.

如果buffer pool中的脏叶比例超过innodb_max_dirty_pages_pct, InnoDB 开始积极的flush buffer pool pages.

InnoDB 使用一种算法来评估flush的速度 给予 redo log 生成的速度和当前flush的速度

目的是保证整体的流畅通过确保Buffer flush 活动跟上 buffer pool clean的需要

自动调整 flush的速度 可以帮助避免突然下降的吞吐量

InnoDB 使用它的log files 在一个循环的方式。在重演一个log file 部分前,

InnoDB flush 所有的脏的buffer pool pages 到磁盘, 包含那些redo entries 是被包含在log file部分

一个进程称为sharp checkpoint. 如果一个负载时写密集型的,它生成大量的redo 日志,都写入到log file.

如果所有可用的空间在log files 是都被占用,一个sharp checkpoint occurs, 导致一个临时的吞吐量的下降。

InnoDB 使用一种启发式算法来避免这样的情况,通过测量脏页的数量和redo log生成的速度。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: