(1.16)mysql server优化之buffer pool

时间:2023-03-09 17:09:45
(1.16)mysql server优化之buffer pool

(1.16)mysql server优化之buffer pool

1、innodb buffer pool

 (1.16)mysql server优化之buffer pool

查看 show status like  'Innodb_buffer_pool_%';

  (1.16)mysql server优化之buffer pool

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