MySQL参数优化之innodb_buffer_pool_size

innodb_buffer_pool我们俗称缓冲池,
缓冲池简单来说就是一块内存区域,通过内存的速度来弥补磁盘速度较慢对数据库性能的影响。
写入时,先将数据写入缓冲池种,再定期刷新到磁盘;读取时,将读到的页放到缓冲池种,下次再读取相同的页时,会首先判断该页是否在缓冲池中,若在缓冲池中则直接从缓冲池中返回。

在这里插入图片描述

1.查看当前值

 show  variables  like '%innodb_buffer_pool_size%'

在这里插入图片描述

2.优化配置

(1)配置为系统内存的50%至75%。默认缓冲池大小为128 MB。一般设置为内存大小的75%

innodb_buffer_pool_size={DBInstanceClassMemory*3/4}

(2) 为了避免潜在的性能问题,块的数量(innodb_buffer_pool_size/innodb_buffer_pool_chunk_size)不应超过1000

select @@innodb_buffer_pool_size/@@innodb_buffer_pool_chunk_size;

(3)缓冲池大小必须始终等于或倍数为

增加或减少时innodb_buffer_pool_size,操作以块的形式执行。块大小由innodb_buffer_pool_chunk_size配置选项,该选项的默认值为128M。

innodb_buffer_pool_size = n(innodb_buffer_pool_chunk_size * innodb_buffer_pool_instances)
如果不等于乘积的倍数,缓冲池将会自动调整为乘积的数值,可以用下方命令查看:

select @@innodb_buffer_pool_size/(@@innodb_buffer_pool_chunk_size * @@innodb_buffer_pool_instances);

(4)在具有大量内存的系统上,可以通过将缓冲池划分为多个来提高并发性

innodb_buffer_pool_instances系统变量定义缓冲池实例的数量

修改配置文件的调整方法,修改my.cnf配置:

innodb_buffer_pool_size = 2147483648 #设置2G

innodb_buffer_pool_size = 2G #设置2G

innodb_buffer_pool_size = 500M #设置500M

3.使用建议

设置要根据自己的实际情况来设置,如果设置的值不在合理的范围内,并不是设置越大越好,可能设置的数值太大体现不出优化效果,反而造成系统的swap空间被占用,导致操作系统变慢,降低sql查询性能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

liuyunshengsir

微信:lys20191020

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值