开发者社区> miles_wong> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

mysql后台线程

简介: master thread 核心的后台线程,主要负责将缓冲池中的数据异步刷新到磁盘,保证数据的一致性,包括脏页的刷新、合并插入缓冲、undo页的回收等。 IO thread 主要负责IO请求的回掉处理。
+关注继续查看

master thread
核心的后台线程,主要负责将缓冲池中的数据异步刷新到磁盘,保证数据的一致性,包括脏页的刷新、合并插入缓冲、undo页的回收等。
IO thread
主要负责IO请求的回掉处理。分别为write、read、insert buffer和log IO thread。线程数量可以通过参数进行调整

mysql> show variables like 'innodb_version'\G;
*************************** 1. row ***************************
Variable_name: innodb_version
        Value: 5.5.49
1 row in set (0.00 sec)

mysql> show variables like 'innodb_%io_threads'\G;
*************************** 1. row ***************************
Variable_name: innodb_read_io_threads
        Value: 4
*************************** 2. row ***************************
Variable_name: innodb_write_io_threads
        Value: 4
2 rows in set (0.00 sec)

可以通过innodb status来观察innodb中IO thread

mysql> show engine innodb status\G;
*************************** 1. row ***************************
  Type: InnoDB
  Name: 
Status: 
=====================================
160620 13:08:00 INNODB MONITOR OUTPUT
=====================================
。。。。。。
--------
FILE I/O
--------
I/O thread 0 state: waiting for completed aio requests (insert buffer thread)
I/O thread 1 state: waiting for completed aio requests (log thread)
I/O thread 2 state: waiting for completed aio requests (read thread)
I/O thread 3 state: waiting for completed aio requests (read thread)
I/O thread 4 state: waiting for completed aio requests (read thread)
I/O thread 5 state: waiting for completed aio requests (read thread)
I/O thread 6 state: waiting for completed aio requests (write thread)
I/O thread 7 state: waiting for completed aio requests (write thread)
I/O thread 8 state: waiting for completed aio requests (write thread)
I/O thread 9 state: waiting for completed aio requests (write thread)

purge thread
负责回收已经使用并分配的undo页,purge操作默认是由master thread中完成的,为了减轻master thread的工作,提高cpu使用率以及提升存储引擎的性能。用户可以在参数文件中添加如下命令来启动独立的purge thread

[mysqld]
innodb_purge_threads=1

innodb1.2版本开始支持多个purge thread,这样可以进一步加快undo页的回收。同时由于purge thread离散读取undo页,这样也进一步利用磁盘的随机读取性能

mysql> select version()\G;
*************************** 1. row ***************************
version(): 5.6.30-log
1 row in set (0.00 sec)

mysql> show variables like 'innodb_purge_threads';
+----------------------+-------+
| Variable_name        | Value |
+----------------------+-------+
| innodb_purge_threads | 4     |
+----------------------+-------+

page cleaner thread
执行脏页刷新操作

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
MySQL开启远程连接权限
MySQL开启远程连接权限
34 0
mysql多线程访问总结
mysql多线程访问总结
55 0
后台(05)——MySQL(5)
探索Android软键盘的疑难杂症 深入探讨Android异步精髓Handler 详解Android主流框架不可或缺的基石 站在源码的肩膀上全解Scroller工作机制 Android多分...
1110 0
mysql 远程访问-权限
5.mysql安装之后,使用户可以从其它地址可以访问服务器 首先得修改/etc/mysql/my.cnf文件,将 bind-address = 127.0.0.1 修改为 bind-address = 0.0.0.0 然后得创建远程访问的用户,并赋予其访问权限   创建用户并且赋予权限,实际上有好几种方法。
635 0
mysql升级
演示以及5.5升级到5.6 当前数据库信息 mysql> status; -------------- mysql Ver 14.14 Distrib 5.
793 0
MySQL导入导出
MySQL的导入导出   1       导出 1.1     导出脚本和数据        MySQL的导出是利用MySQL安装目录的bin目录下的mysqldump指令来进行的,该命令需要在Windows的cmd命令窗口执行。
894 0
[MySQL]导入导出
原文:[MySQL]导入导出 一 导入文本数据 1)mysql->load data infile 数据文件c:/mytable.txt 如下:(每一行为一条记录,记录的字段间用tab隔开,最后一个字段后不能再有tab,文件为ascii格式) haha 5xixi 6  [lo...
792 0
+关注
miles_wong
Java核心技术 数据存储与数据库 分布式系统与计算 系统研发与运维 编程语言
87
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载