mysql数据库配置参数理解说明二

--查配置

show variables

1>查看数据库版本号

show variables like 'innodb_version'\G;

2>查看innodb存储引擎处理io的线程配置

show variables like 'innodb_%io_threads'\G;
---------------
innodb_read_io_threads
innodb_write_io_threads

3>purgeThread:事务被提交后,其使用的undolog可能不在需要,因此需要purgeThread来回收已经使用并分配的undo页
从innodb1.1版本后,用户可以配置开启PurgeThread线程,可以提高CPU的利用率

innodb_purge_threads=1;

4>Page Cleaner Thead:作用是将之前版本中脏页的刷新操作放入单独线程来完成,目的是减轻 主线程(Master Thread)的工作,对于用户查询线程阻塞起到优化作用。

5>查看缓冲池大小:

show variables like 'innodb_buffer_pool_size'\G;

缓冲池缓存的数据页类型有:索引页、数据页、undo页、插入缓冲页(insert buffer)、自适应哈希索引(adaptive hash index)、innodb存储的锁信息(lock info)、数据字典信息(data dictionary)

6>缓冲池支持开启多个缓冲池实例:每各页根据哈希平均分配到各个缓冲池实例;好处:减少数据库内部资源竞争,提高并发。

查看
show variables like 'innodb_buffer_pool_instances'\G;
设置
set global innodb_buffer_pool_instances=1  (或者大于1)

7>缓冲池的管理
缓冲池是通过  LRU(最近最少使用)算法来进行管理的。使用最频繁的页放在LRU列表的最前端,不常使用的放在列表末尾。当缓冲池放不下时,从末尾列表处开始释放。

innodb存储引擎在LRU列表中加入了 minpoint位置机制!
新读到的页,先不放在LRU最前端,而是放在minpoint位置处,minpoint位置默认配置是在LRU列表的5/8处 ,可以用innodb_old_blocks_pct控制。

参数innodb_old_blocks_time,用来表示读取到minpoint位置需要等待多久才会被加入到LRU列表的前端。

LRU管理已经读取的页,
Free表示未被用过的页。

当LRU列表从old部分加入到new部分,称为(page made young)  ;由于 innodb_old_blocks_time设置而没有从old部分移到new部分,称为(page not made young)
page made young:显示的是移动的次数

--查看INNODB存储引擎状态
SHOW ENGINE INNODB STATUS\G;

buffer pool size   :  缓冲池页数;  (1页=16k)
free buffers       :当前free列表中页的数量
Database pages     :LRU列表中页的数量

说明:
Free buffers +  Database pages  +(插入缓冲 、锁信息、自适应哈希索引、数据字典信息) = Buffer pool size
Free buffers +  Database pages:这里边主要缓存的是 (数据页和索引页)

Buffer pool hit:  表示缓冲池的命中率  小于95%表示LRU被慢sql污染了

8>脏页  (Flush 列表 :即脏页列表)
LRU列表中的页被修改后,称该页为脏页(dirty page)--缓冲池中页和磁盘中页数据不一致。

SHOW ENGINE INNODB STATUS\G;
Modified db pages :  脏页数量

9>重做日志缓冲
因为每秒都会刷新重做日志到日志文件,索引缓存不需要很大,有innodb_log_buffer_size来控制,默认8M。

10>当数据库关闭是把所有脏页刷新回磁盘,默认如此,可以配置:
innodb_fash_shut_shutdown=1

11>LRL列表可用空间不够,从innodb1.2版本后有专门的线程负责把脏页刷新回磁盘  (Page Cleaner)
innodb_lru_scan_depth 控制LRU列表可用页数量,(默认1024)。

转载于:https://my.oschina.net/u/3420885/blog/1933160

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值