mysql 原理~buffer_pool并发

一 简介 buffer pool的并发访问机制的改进与局限

二 详细
   1 innodb_buffer_pool_instance
      1 当较多数据加载到内存时, 使用多缓存实例能减少缓存争用锁情况。
      2 全局大锁 buffer pool mutex 依然存在,直到8.0才进行拆分解决
   2 page_cleaner的出现
     1 出现了单独的page_cleaner线程,独立承担了刷页工作,减少了master的负担
     2 出现了多线程的page_cleaner,加快了脏页刷新的效率
   3 page_celaner不能解决的问题
      基本就是高并发下page_cleaner超负荷工作时进行的CKPT,周期性的CKPT并不在考虑范围内
     1 redo不够用,覆盖前强制进行CKPT
     2 LRU列表已到达空闲页最少的阈值,需要强制进行CKPT
4 purge的出现
    1 出现了单独的purge线程,独立承担了清理undo和删除标记的工作,减少了master的负担
5 dblwr成为重要的单点瓶颈。
   1 非SSD硬盘必须打开double write buffer。
   2 涉及到的锁 分为两部分:single page flush和batch flush,
   3 即使拆分了多个page cleaner,最终扩展性还是受限于dblwr

    4 官方已经开始对此开始优化工作

三 总结

   1  只是根据淘宝内核周报写的一点自己的总结,还会继续补充

   2 以上出现的几个关键点解读在我的博客里都有体现,感兴趣的可以去看

 

转载于:https://www.cnblogs.com/danhuangpai/p/11434511.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值