【缓存池】转-Mysql参数innodb_buffer_pool_size
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了【缓存池】转-Mysql参数innodb_buffer_pool_size,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2802字,纯文字阅读大概需要5分钟。
内容图文
mysqld --innodb_buffer_pool_size=8G --innodb_buffer_pool_instances=16 mysql> SELECT @@innodb_buffer_pool_size/1024/1024/1024; +------------------------------------------+ | @@innodb_buffer_pool_size/1024/1024/1024 | +------------------------------------------+ | 8.000000000000 | +------------------------------------------+ shell> mysqld --innodb_buffer_pool_size=9G --innodb_buffer_pool_instances=16 mysql> SELECT @@innodb_buffer_pool_size/1024/1024/1024; +------------------------------------------+ | @@innodb_buffer_pool_size/1024/1024/1024 | +------------------------------------------+ | 10.000000000000 | +------------------------------------------+ ————————————————【 innodb_buffer_pool_chunk_size 】
innodb_buffer_pool_chunk_size 默认 128MB (更改不需重启),增加单位为 1MB 。
innodb_buffer_pool_chunk_size 的最大值估算如下:
MAX(innodb_buffer_pool_chunk_size) = innodb_buffer_pool_size / innodb_buffer_pool_instances
综合以上三个参数:
buffer pool 估算公式:(N 为正整数; buffer pool 应为总内存的 3/4 至 4/5)
innodb_buffer_pool_size = N * (innodb_buffer_pool_chunk_size * innodb_buffer_pool_instances)
当 N=1时, 使三个参数设置刚好满足以下公式:
innodb_buffer_pool_size = innodb_buffer_pool_chunk_size * innodb_buffer_pool_instances
若此时再设置 innodb_buffer_pool_chunk_size 少 1MB , 那么 buffer pool 大小几乎翻倍, 因为 chunk_size * instances < buffer_pool_size, 此时有 N=2, buffer_pool_size 为(chunk_size*instances) 的倍数大小
innodb_buffer_pool_size = 2 * (innodb_buffer_pool_chunk_size * innodb_buffer_pool_instances)
#所以较优设置:假设系统内存 = 128 GB, buffer pool 大小预计100GB(128GB*80%)
innodb_buffer_pool_instances = 8 #默认值,或者逻辑CPU数量
innodb_buffer_pool_chunk_size = 128MB #默认值
innodb_buffer_pool_size = 100 GB # N*8*128MG = N GB ,N 刚好为正整数。设 N=100使得 buffer pool 为总内存的 3/4 至 4/5。
【 innodb_page_size 】
innodb_page_size 默认 16kb, 数据存储页, 应与操作系统块大小一致(同 innodb_log_write_ahead_size)。 对于 SSD 更小的页可能更好。innodb_page_size 为32k and 64k 时, 行长度最大为 16000 bytes, 且不支持 ROW_FORMAT=COMPRESSED。
一个 innodb_buffer_pool_chunk_size 中包含的页数量取决于 innodb_page_size。
默认地: chunk可存储的页数量= innodb_buffer_pool_chunk_size / innodb_page_size = 128*1024/16 = 8192
mysql> SELECT @@innodb_buffer_pool_size; mysql> SELECT @@innodb_buffer_pool_instances; mysql> SELECT @@innodb_buffer_pool_chunk_size;
查看:
【缓存池】转-Mysql参数innodb_buffer_pool_size
标签:线程 最大 com sele weight 内存 bsp 一个 ssd
本文系统来源:https://www.cnblogs.com/july-sunny/p/12624145.html
内容总结
以上是互联网集市为您收集整理的【缓存池】转-Mysql参数innodb_buffer_pool_size全部内容,希望文章能够帮你解决【缓存池】转-Mysql参数innodb_buffer_pool_size所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。