INNODB内存结构

INNODB内存结构如下图


1.  innodb_buffer_pool

innoDB高速缓冲对innodb很重要;

innoDB不依赖OS,而自己缓存了所有数据,包括索引数据,行数据,等等,这点跟myisam有差别(myisam的数据依靠OS的pagecache进行缓存);

应该把它设置大一些,建议设置为可用RAM的50%-80%;

查询或更新需要对IBP加锁,影响并发;

IBP有一块buffer用于插入缓存,在插入的时候先写入内存,之后再合并顺序写入磁盘,在并到磁盘的时候,会引发较大的IO操作,对实时才做造成影响(看上去抖动tps变低);

Show global status like ‘innodb_buffer_pool%’;查看IBP状态单位是page;

Innodb_buffer_pool_wait_free如果较大需要加大IBP设置;

设置成全部内存的50%(确保单实例的话考虑到PGA的分配)前端有连接池的话设置成70%。

2.Innodb_additional_mem_pool_size

数据字典以及内部数据结构缓存,表数量越多,相应的内存需要越大;

默认8M,通常设置为8-32M足够,一般建议设置为16M如果确实不够用那么会从系统中请求增加分配内存并且错误日志中会提醒。

3.Innodb_log_buffer_size

Show_global_status 查看innodb_log_waits是否大于0,是的话就需要提高innodb_log_buffer_size,否则维持原样

Show global status 查看30-60秒钟innodb_os_log_writen的间隔差异值,即可计算出innodb_log_buffer_size设置多大合适默认8M一般16-64M足够了



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值