diff --git a/mysql/mysql文档/innodb体系结构.md b/mysql/mysql文档/innodb体系结构.md index 8b3b5ed..18e4b8d 100644 --- a/mysql/mysql文档/innodb体系结构.md +++ b/mysql/mysql文档/innodb体系结构.md @@ -282,3 +282,17 @@ innodb会在后台将脏页刷新到磁盘中。在innodb中,buffer pool刷新 > > `该变量默认值大小为1024`。 +## 自适应刷新 +innodb采用了自适应的缓冲区刷新算法,根据redo log的生成速率和当前刷新频率动态调整刷新速率。通过该算法,可以令刷新活动和当前的工作负载保持平衡。 + +通过自适应刷新,可以避免因`buffer flush产生的IO活动挤占普通读写活动的IO容量`造成的吞吐量下降。 + +自适应刷新根据buffer pool中的脏页数量以及redo log日志的生成速率来帮助避免`buffer flush`造成的io活动突然增加,避免出现工作负载的突然变化。 + +### innodb_adaptive_flushing_lwm +` innodb_adaptive_flushing_lwm`变量针对redo log容量定义了一个`low water mark`,当超过该阈值时,自适应花心将会被启用,`即使innodb_adaptive_flushing变量被禁用`。 + +### innodb_adaptive_flushing +通过`innodb_adaptive_flushing`变量,可以控制自使用刷新是否被启用,默认情况下其被启用。 + +