欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

Mysql Innodb_buffer_pool状态参数详解

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,命中率计算:
(Innodb_buffer_pool_read_requests - Innodb_buffer_pool_reads)/Innodb_buffer_pool_read_requests #建议添加该值的监控,如果过低,进行报警


来自  http://blog.csdn.net/huoyuanshen/article/details/72302976

普通分类: