mysql innodbuffer修改_mysql参数之innodb_buffer_pool_size大小设置

一、什么是INNODB BUFFER POOL

计算机使用它们的大部分内存来提升对经常访问的数据的性能。这就是我们所知的缓存,是系统的一个非常重要的组成部分,因为访问硬盘的数据可能会慢到100到100000倍,这取决你访问的数据量。

MyISAM是使用操作系统的文件系统缓存来缓存那些经常被查询的数据。然而InnoDB使用的是一种非常不同的方法。不依赖操作系统的缓存,InnoDB自己在InnoDB Buffer Pool处理缓存

二、InnoDB缓冲池作用数据缓存 – 这绝对是它的最重要的目的

索引缓存 – 这使用是的同一个缓冲池

缓冲 – 更改的数据(通常称为脏数据)在被刷新到硬盘之前先存放到缓冲

存储内部结构 – 一些结构如自适应哈希索引或者行锁也都存储在InnoDB缓冲池

mysql>showglobalvariables like'innodb_buffer_pool_size';

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

|Variable_name|Value|

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

|innodb_buffer_pool_size|134217728|

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

1rowinset(0.00sec)

三、那么如何设置该参数大小呢?首先查看运行时buffer pool相关数据指标:mysql>showglobalstatus like'Innodb_buffer_pool_pages_data';

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

|Variable_name|Value|

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

|Innodb_buffer_pool_pages_data|314|

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

1rowinset(0.00sec)

mysql>showglobalstatus like'Innodb_buffer_pool_pages_total';

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

|Variable_name|Value|

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

|Innodb_buffer_pool_pages_total|8191|

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

1rowinset(0.00sec)

mysql>showglobalstatus like'Innodb_page_size';

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

|Variable_name|Value|

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

|Innodb_page_size|16384|

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

1rowinset(0.00sec)

上述三项指标的含义如下:

1、Innodb_buffer_pool_pages_data

The number of pages in the InnoDB buffer pool containing data. The number includes both dirty and

clean pages.

2、Innodb_buffer_pool_pages_total

The total size of the InnoDB buffer pool, in pages.

3、Innodb_page_size

InnoDB page size (default 16KB). Many values are counted in pages; the page size enables them to be

easily converted to bytes

五、设置方法计算Innodb_buffer_pool_pages_data/Innodb_buffer_pool_pages_total*100%

当结果>95%则增加innodb_buffer_pool_size,建议使用物理内存的75%

当结果<95%则减少innodb_buffer_pool_size,

建议设置大小为:Innodb_buffer_pool_pages_data*Innodb_page_size*1.05/(1024*1024*1024)

命令如:SET GLOBAL innodb_buffer_pool_size=32423423:单位kb

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值