mysql Innodb_buffer相关参数解读

##解读mysql缓冲池的一些参数

---BUFFER POOL 7
Buffer pool size   81919      #innodb_buffer_pool第8个池的总页面,每个页面大小16kb,1.25GB
Free buffers       1025 #池中空闲池可用的页面
Database pages     78154 #buffer池中的页面大小
Old database pages 28829 #LRU列表中midpoint后的页面数量
Modified db pages  3873 #被修改的页面数量,也就是我所日常所说的脏页
Pending reads 0
Pending writes: LRU 0, flush list 0, single page 0
Pages made young 83925753, not young 344007965 #显示LRU中移动到前端的次数
0.00 youngs/s, 0.00 non-youngs/s
Pages read 4517544, created 644906, written 40378658
0.00 reads/s, 0.00 creates/s, 0.00 writes/s
Buffer pool hit rate 1000 / 1000, young-making rate 0 / 1000 not 0 / 1000 #缓冲命中率>95%算正常,小于95%,需要观察是否有全表扫描
Pages read ahead 0.00/s, evicted without access 0.00/s, Random read ahead 0.00/s
LRU len: 78154, unzip_LRU len: 0 #LRU列表中的页数量(16kb),一共有78154个页,unzip_LRU(<16kb,包括4k,8k的页面) 0个页,一般在innodb引擎表的压缩中会使用到。

I/O sum[4]:cur[0], unzip sum[0]:cur[0]

注:对于LRU和unzip_LRU的前提是使用压缩

LRU:管理非压缩(16kB页大小)的数据

unzip_LRU:管理压缩(<16kB页大小)的数据

对于页大小为2KB,4KB, 8KB大小的页如何管理, 如下所示:

+++++++++++++++++++++++++++++++++++++++

unzip_LRU------------------------unzip_LRU------------------------------------------------LRU

----4KB------------------------------>8KB------------------------------------------------->16KB

(1)优先查找,找到直接分配

                    --------->(2)4KB的unzip_LRU中未找到,在此查找,找到后,分为2个4KB页

                                                        ----->(3) 上面都未找到,从LRU中取一个列表分为8KB+2*4KB,并放入对应unzip_LRU中

++++++++++++++++++++++++++++++++++++++++


16. 缓冲命中率
select pool_id,hit_rate,pages_made_young,pages_not_made_young

from information_schema.innodb_buffer_pool_stats;




select table_name,space,page_number,page_type
from innodb_buffer_page_lru
where space=1;
发布了145 篇原创文章 · 获赞 21 · 访问量 37万+

猜你喜欢

转载自blog.csdn.net/wxc20062006/article/details/79300029