首页 / MYSQL / MySQL innodb线程
MySQL innodb线程
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了MySQL innodb线程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1732字,纯文字阅读大概需要3分钟。
内容图文
![MySQL innodb线程](/upload/InfoBanner/zyjiaocheng/520/0692a05201b1436cbc617c94f2a520bc.jpg)
MySQL innodb线程
一、master therad
①、刷新脏页到磁盘
②、将日志缓冲刷新到磁盘
③、undo页回收
④、合并插入缓冲
参数innodb_io_capacity表示每秒刷新脏页的数量,默认为200。
innodb_max_dirty_pages_pct设置出发刷盘的脏页百分比,即当脏页占到缓冲区数据达到这个百分比时,就会刷新innodb_io_capacity个脏页到磁盘。
参数innodb_adaptive_flushing = ON(自适应地刷新),该值影响每秒刷新脏页的数量。原来的刷新规则是:脏页在缓冲池所占的比例小于innodb_max_dirty_pages_pct时,不刷新脏页;
大于innodb_max_dirty_pages_pct时,刷新100个脏页。随着innodb_adaptive_flushing参数的引入,InnoDB存储引擎会通过一个名为buf_flush_get_desired_flush_rate的函数来判断需要刷新脏页最合适的数量。
粗略地翻阅源代码后发现buf_flush_get_desired_flush_rate通过判断产生重做日志(redo log)的速度来决定最合适的刷新脏页数量。因此,当脏页的比例小于innodb_max_dirty_pages_pct时,也会刷新一定量的脏页。
innodb_purge_batch_size 用来控制每次删除无用undo的数量。
二、io thread
在InnoDB存储引擎中大量使用Async IO来处理写IO请求,IO Thread的工作主要是负责这些IO请求的回调处理。写线程和读线程分别由innodb_write_threads和innodb_read_threads参数控制,默认都为4。
三、purge thread
事务在提交之前,通过undolog(回滚日志)记录事务开始之前的状态,当事务被提交后,undolog便不再需要,因此需要Purge Thread线程来回收已经使用并分配的undo页。
可以在配置文件中添加innodb_purge_threads=1来开启独立的Purge Thread,等号后边控制该线程数量,默认为4个。
四、page clean thread
1.2.X版本以上引入,脏页刷新,减轻master的工作,提高性能。
MySQL innodb线程
标签:就会 工作 插入 文件 比例 redo log 参数 记录 batch
本文系统来源:https://www.cnblogs.com/liuchd/p/13278023.html
内容总结
以上是互联网集市为您收集整理的MySQL innodb线程全部内容,希望文章能够帮你解决MySQL innodb线程所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。