Mysql innodb 后台的7大线程与3大内存
2015-03-16 23:28
260 查看
A:一个master 线程(innodb 几乎在这个线程上实现有所有功能)
B:一个lock 监控线程
C:一个错误监控线程
D:四个IO线程(insert buffer thread\log thread\write thread\read thread)
在windows 平台下可以通过 innodb_file_io_threads 参数来增大IO线程的数量。但是这个上也过时了
目前我们可以通过 innodb_read_io_threads | innodb_write_io_threads 来控制 IO线程的数量。
-----------------------------------------------------------------------------------------
内存:
A:
缓冲池(buffer pool)、最占内存的部分,用来存放各种数据的缓存(索引页,数据页,undo页,插入缓冲,自适应hash索引,锁信息)
innodb_buffer_pool_size 指定了缓冲池的大小。
32位的系统下innodb_buffer_pool_awe_mem_mb 可以开启awe功能。但是一旦开启awe系统就会自动禁用自适应hash索引。
B:
重做日志缓冲池(redo log buffer),日志缓冲将重做日志信息先放入缓冲区,然后按一定的频率将其刷新到重做日志文件。这个值一般不要设的很大
因为一般每一秒都会将重做日志缓冲刷新到日志文件,我们只要保证每秒产生的事务量在这个缓冲大小之内就可以了。
C:额外的内存池(additional memory pool)
B:一个lock 监控线程
C:一个错误监控线程
D:四个IO线程(insert buffer thread\log thread\write thread\read thread)
在windows 平台下可以通过 innodb_file_io_threads 参数来增大IO线程的数量。但是这个上也过时了
目前我们可以通过 innodb_read_io_threads | innodb_write_io_threads 来控制 IO线程的数量。
-----------------------------------------------------------------------------------------
内存:
A:
缓冲池(buffer pool)、最占内存的部分,用来存放各种数据的缓存(索引页,数据页,undo页,插入缓冲,自适应hash索引,锁信息)
innodb_buffer_pool_size 指定了缓冲池的大小。
32位的系统下innodb_buffer_pool_awe_mem_mb 可以开启awe功能。但是一旦开启awe系统就会自动禁用自适应hash索引。
B:
重做日志缓冲池(redo log buffer),日志缓冲将重做日志信息先放入缓冲区,然后按一定的频率将其刷新到重做日志文件。这个值一般不要设的很大
因为一般每一秒都会将重做日志缓冲刷新到日志文件,我们只要保证每秒产生的事务量在这个缓冲大小之内就可以了。
C:额外的内存池(additional memory pool)
相关文章推荐
- [MySQL 5.6] Innodb后台线程之master线程
- 【MySQL】InnoDB体系结构之后台线程
- InnoDB的后台线程(IO线程,master线程,锁监控线程,错误监控线程)和内存(缓冲池,重做日志缓冲池,额外内存池)
- 对于innodb体系架构之后台线程、内存
- MYSQL,innodb_buffer_pool_size内存分配方式
- MySQL系列:innodb源码分析之内存管理
- MySQL内存使用-线程独享
- MySQL配置内存使用之线程缓存和表缓存
- MySQL线程共享内存参数
- innoDB 体系架构 ----后台线程
- IOS 后台线程操作UIActivityIndicatorView动画被检测出内存泄露
- MYSQL内存线程独享技巧
- innodb中master线程的调度的算法改进(mysql 5.6.26)
- MySQL内存使用之线程独享介绍
- [MySQL生产环境] Innodb存储引擎内存报警问题处理过程
- MySQL系列:innodb引擎分析之内存管理
- MySQL内存使用-线程独享
- MySQL内存使用-线程独享
- MySQL内存使用说明(全局缓存+线程缓存)
- MySQL InnoDB体系架构之内存