zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

(1.16)mysql server优化之buffer pool

mysqlserver 优化 Buffer Pool 1.16
2023-09-11 14:21:09 时间

(1.16)mysql server优化之buffer pool

1、innodb buffer pool

 

 

查看 show status like  'Innodb_buffer_pool_%';

  

 

 

该部分转自:https://blog.csdn.net/huoyuanshen/article/details/72302976
innodb_buffer_pool参数解释: 查看 show status like  
'Innodb_buffer_pool_%'; 1,设置的过大,会导致system的swap空间被占用,导致操作系统变慢,从而减低sql查询的效率。 2,存放的内容:索引,数据,插入数据时的缓冲。 3,确定具体大小的时候需要先确认页大小,默认16k(16384):SHOW GLOBAL STATUS LIKE 'Innodb_page_size'; 4,空闲小于5%进行池增加。 5,一般占系统内存50%-80%,最好是计算得出。 假设是一台单独给 MySQL 使用的主机,物理内存总大小为 8G,MySQL 最大连接数为 500,同时还使用 了 MyISAM 存储引擎,这时候我们的整体内存该如何分配呢? 内存分配为如下几大部分: a)     系统使用,假设预留 800M; b)     线程独享,约 2GB  = 500  * (1MB  + 1MB  + 1MB  + 512KB  + 512KB),组成大概如下:sort_buffer_size:1MB join_buffer_size:1MB read_buffer_size:1MB read_rnd_buffer_size:512KB thread_statck:512KB c)    MyISAM  Key Cache,假设大概为 1.5GB; d)     Innodb Buffer  Pool 最大可用量:8GB  - 800MB  - 2GB  - 1.5GB = 3.7GB; 6,建议初期的时候设置保守,通过监控在进行修复。 7,命中率计算:

  [1](1 - Innodb_buffer_pool_reads)/Innodb_buffer_pool_read_requests)*100
  [2](Innodb_buffer_pool_read_requests - Innodb_buffer_pool_reads)/Innodb_buffer_pool_read_requests #建议添加该值的监控,如果过低,进行报警