mysql会话内存参数_MySQL内存体系架构及参数总结 ---图解

Mysql 内存分配规则是:用多少给多少,最高到配置的值,不是立即分配

4229c1651ae9a64d22e4ef838b1df23b.png图只做大概参考

全局缓存包括:

global buffer(全局内存分配总和) =

innodb_buffer_pool_size                      -- InnoDB高速缓冲,行数据、索引缓冲,以及事务锁、自适应哈希等

+innodb_additional_mem_pool_size    -- InnoDB数据字典额外内存,缓存所有表数据字典

+innodb_log_buffer_size                      -- InnoDB REDO日志缓冲,提高REDO日志写入效率

+key_buffer_size                                   -- MyISAM表索引高速缓冲,提高MyISAM表索引读写效率

+query_cache_size                                -- 查询高速缓存,缓存查询结果,提高反复查询返回效率

+thread_cache_size                               --Thread_Cache 中存放的最大连接线程数

+table_cahce                                         -- 表空间文件描述符缓存,提高数据表打开效率

+table_definition_cache                        -- 表定义文件描述符缓存,提高数据表打开效率

会话缓存包括:

total_thread_buffers= max_connections  * (

read_buffer_size             -- 顺序读缓冲,提高顺序读效率

+read_rnd_buffer_size   -- 随机读缓冲,提高随机读效率

+sort_buffer_size           -- 排序缓冲,提高排序效率

+join_buffer_size           -- 表连接缓冲,提高表连接效率

+binlog_cache_size       -- 二进制日志缓冲,提高二进制日志写入效率

+tmp_table_size            -- 内存临时表,提高临时表存储效率

+thread_stack                -- 线程堆栈,暂时寄存SQL语句/存储过程

+thread_cache_size       -- 线程缓存,降低多次反复打开线程开销,模拟连接池

)

内存相关配置参数介绍:

全局内存部分:

innodb_buffer_pool

•InnoDB高速缓冲(简称IBP),对Innodb很重要。

•应该把它设置得大一些,单实例,建议设置为可用RAM的50~80%。

•InnoDB不依赖OS,而自己缓存了所有数据,包括索引数据,行数据,等等。这点跟MyISAM有差别。

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

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

•show global status like ‘innodb_buffer_pool_%’ 查看IBP状态,单位是page(16kb)

•Innodb_buffer_pool_wait_free 如果较大,需要加大IBP设置

•InnoDB会定时(约每10秒)将脏页刷新到磁盘,默认每次刷新10页;

•要是脏页超过了指定数量(innodb_max_dirty_pages_pct),InnoDB则会每秒刷100页脏页

• innodb_buffer_pool_instances可以设置pool的数量

• show engine innodb status\G    可以查看innodb引擎状态

mysql> show global status like 'innodb_buffer_%';

+---------------------------------------+---------+

| Variable_name                         | Value   |

+---------------------------------------+---------+

| Innodb_buffer_pool_pages_data         | 154     |

| Innodb_buffer_pool_bytes_data         | 2523136 |

| Innodb_buffer_pool_pages_dirty        | 0       |                    脏数据

| Innodb_buffer_pool_byte

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值