innodb新特性之怎么使用buffer pool动态调整大小

发布时间:2021-11-01 09:25:47 作者:iii
来源:亿速云 阅读:169

这篇文章主要介绍“innodb新特性之怎么使用buffer pool动态调整大小”,在日常操作中,相信很多人在innodb新特性之怎么使用buffer pool动态调整大小问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”innodb新特性之怎么使用buffer pool动态调整大小”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

5.7 开始支持buffer pool 动态调整大小,每个buffer_pool_instance都由同样个数的chunk组成(chunks数组), 每个chunk内存大小为innodb_buffer_pool_chunk_size(实际会偏大5%,用于存放chuck中的block信息)。buffer pool以innodb_buffer_pool_chunk_size为单位进行动态增大和缩小。调整前后innodb_buffer_pool_size应一直保持是innodb_buffer_pool_chunk_size*innodb_buffer_pool_instances的倍数。

同样的buffer pool动态调整大小由后台线程buf_resize_thread,set命令会立即返回。通过InnoDB_buffer_pool_resize_status可以查看调整的运行状态。

由上可以看出,扩大内存比缩小内存相对容易些。缩小内存时,如果遇到有事务一直未提交且占用了待收缩的page时,导致收缩一直重试,error log会打印这种重试信息, 包含可能引用此问题的事务信息。为了避免频繁重试,每次重试的时间间隔会指数增长。

以上步骤中resize阶段buffer pool会不可用,此阶段会锁所有buffer pool, 但此阶段都是内存操作,时间比较短。收缩内存阶段耗时可能会很长,也有一定影响,但是每次都是以instance为单位进行锁定的。 总的来说,buffer pool 动态调整大小对应用的影响并不大。

到此,关于“innodb新特性之怎么使用buffer pool动态调整大小”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

推荐阅读:
  1. Configuring InnoDB Buffer Pool
  2. MySQL管理之道-笔记-MySQL5.7-在线调整innodb_buffer_pool_size

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

buffer pool innodb

上一篇:MySQL多列索引怎么用

下一篇:当你在Linux上启动一个进程时会发生什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》