INNODB_BUFFER_POOL_STATS - xiaoboluo768/mysql-system-schema GitHub Wiki
- 该表提供查询一些Innodb buffer pool中的状态信息,该表中记录的信息与SHOW ENGINE INNODB STATUS输出的信息类似相同,另外,innodb buffer pool的一些状态变量也提供了部分相同的值
- 将缓冲池中的页设置为“young”或“not young”的概念指的是将缓冲池中的页在缓冲池数据结构中首尾相连构成一个链表(LRU list),划分一个中点(按照innodb_old_blocks_pct系统变量值划分,默认值为37%),把链表分为两个子链表(前半部分叫young sublist,也就是热点数据页、后半部分叫old sublist,也就是刚刚读入buffer pool中的数据页),把数据页在这两个子链表之间进行传送。 在old sublist链表中的页在innodb_old_blocks_time定义的时间内连续两次被访问,则会被移动到LRU list首部,即,young sublist链表中成为热点数据页。而处于young sublist链表中的“young”页达到一定时间就会从缓冲池中老化,成为old sublist链表中的“not young”页,“not young”页更接近驱逐点(当缓冲池中没有足够的空闲页时,这些接近驱逐点位置的页就会被驱逐)
- 查看该表需要有process权限,该表为Memory引擎临时表
- 表定义语句
CREATE TEMPORARY TABLE `INNODB_BUFFER_POOL_STATS` (
`POOL_ID` bigint(21) unsigned NOT NULL DEFAULT '0',
`POOL_SIZE` bigint(21) unsigned NOT NULL DEFAULT '0',
`FREE_BUFFERS` bigint(21) unsigned NOT NULL DEFAULT '0',
`DATABASE_PAGES` bigint(21) unsigned NOT NULL DEFAULT '0',
`OLD_DATABASE_PAGES` bigint(21) unsigned NOT NULL DEFAULT '0',
`MODIFIED_DATABASE_PAGES` bigint(21) unsigned NOT NULL DEFAULT '0',
`PENDING_DECOMPRESS` bigint(21) unsigned NOT NULL DEFAULT '0',
`PENDING_READS` bigint(21) unsigned NOT NULL DEFAULT '0',
`PENDING_FLUSH_LRU` bigint(21) unsigned NOT NULL DEFAULT '0',
`PENDING_FLUSH_LIST` bigint(21) unsigned NOT NULL DEFAULT '0',
`PAGES_MADE_YOUNG` bigint(21) unsigned NOT NULL DEFAULT '0',
`PAGES_NOT_MADE_YOUNG` bigint(21) unsigned NOT NULL DEFAULT '0',
`PAGES_MADE_YOUNG_RATE` double NOT NULL DEFAULT '0',
`PAGES_MADE_NOT_YOUNG_RATE` double NOT NULL DEFAULT '0',
`NUMBER_PAGES_READ` bigint(21) unsigned NOT NULL DEFAULT '0',
`NUMBER_PAGES_CREATED` bigint(21) unsigned NOT NULL DEFAULT '0',
`NUMBER_PAGES_WRITTEN` bigint(21) unsigned NOT NULL DEFAULT '0',
`PAGES_READ_RATE` double NOT NULL DEFAULT '0',
`PAGES_CREATE_RATE` double NOT NULL DEFAULT '0',
`PAGES_WRITTEN_RATE` double NOT NULL DEFAULT '0',
`NUMBER_PAGES_GET` bigint(21) unsigned NOT NULL DEFAULT '0',
`HIT_RATE` bigint(21) unsigned NOT NULL DEFAULT '0',
`YOUNG_MAKE_PER_THOUSAND_GETS` bigint(21) unsigned NOT NULL DEFAULT '0',
`NOT_YOUNG_MAKE_PER_THOUSAND_GETS` bigint(21) unsigned NOT NULL DEFAULT '0',
`NUMBER_PAGES_READ_AHEAD` bigint(21) unsigned NOT NULL DEFAULT '0',
`NUMBER_READ_AHEAD_EVICTED` bigint(21) unsigned NOT NULL DEFAULT '0',
`READ_AHEAD_RATE` double NOT NULL DEFAULT '0',
`READ_AHEAD_EVICTED_RATE` double NOT NULL DEFAULT '0',
`LRU_IO_TOTAL` bigint(21) unsigned NOT NULL DEFAULT '0',
`LRU_IO_CURRENT` bigint(21) unsigned NOT NULL DEFAULT '0',
`UNCOMPRESS_TOTAL` bigint(21) unsigned NOT NULL DEFAULT '0',
`UNCOMPRESS_CURRENT` bigint(21) unsigned NOT NULL DEFAULT '0'
) ENGINE=MEMORY DEFAULT CHARSET=utf8
- 表字段含义
- POOL_ID:缓冲池ID。用于多个buffer pool instance时区分多个缓冲池实例的唯一标识符
- POOL_SIZE:每个buffer pool instance中的页数量
- FREE_BUFFERS:每个buffer pool instance中的空闲页数
- DATABASE_PAGES:每个每个buffer pool instance中包含的数据页数。这个数量包括脏页和即将被清理的页
- OLD_DATABASE_PAGES:每个buffer pool instance中old sublist链表中的页数
- MODIFIED_DATABASE_PAGES:每个buffer pool instance中被修改(脏)的数据页的数量
- PENDING_DECOMPRESS:每个buffer pool instance中的解压缩的页数
- PENDING_READS:每个buffer pool instance中被挂起读取的页数量
- PENDING_FLUSH_LRU:每个buffer pool instance中在LRU链表中被挂起刷新的页数
- PENDING_FLUSH_LIST:每个buffer pool instance中在刷新列表中被挂起刷新的页数
- PAGES_MADE_YOUNG:每个buffer pool instance中被移动到young sublist链表中的页数
- PAGES_NOT_MADE_YOUNG:每个buffer pool instance中未被移动到young sublist链表中的页数
- PAGES_MADE_YOUNG_RATE:每个buffer pool instance中每秒被移动到young sublist链表中的页数(自上次打印输出/时间以来被移动到young sublist的页数)
- PAGES_MADE_NOT_YOUNG_RATE:每个buffer pool instance中每秒未被移动到young sublist链表中的页数(自上次打印输出/时间以来,未被移动到young sublist的页面)
- NUMBER_PAGES_READ:每个buffer pool instance中被读取的页数
- NUMBER_PAGES_CREATED:每个buffer pool instance中被创建的页数
- NUMBER_PAGES_WRITTEN:每个buffer pool instance中被写入的页数
- PAGES_READ_RATE:每个buffer pool instance中每秒被读取的页数(自上次打印输出/经过的时间以来读取的页数)
- PAGES_CREATE_RATE:每个buffer pool instance中每秒被创建的页数(自上次打印输出/经过的时间以来被创建的页数)
- PAGES_WRITTEN_RATE:每个buffer pool instance中每秒被写入的页数(从上次打印输出/时间以来被写入的页数)
- NUMBER_PAGES_GET:每个buffer pool instance中逻辑读取请求的页数量
- HIT_RATE:每个buffer pool instance中的缓冲池命中率
- YOUNG_MAKE_PER_THOUSAND_GETS:每个buffer pool instance中The number of pages made young per thousand gets
- NOT_YOUNG_MAKE_PER_THOUSAND_GETS:每个buffer pool instance中The number of pages not made young per thousand gets
- NUMBER_PAGES_READ_AHEAD:每个buffer pool instance中的预读的页数
- NUMBER_READ_AHEAD_EVICTED:每个buffer pool instance中后台线程预读入到InnoDB缓冲池的页数,且这些页是还没来得及访问就被驱逐的页
- READ_AHEAD_RATE:每个buffer pool instance中每秒预读的页数(自上次打印输出/经过的时间以来的页数)
- READ_AHEAD_EVICTED_RATE:每个buffer pool instance中每秒预读的且还没来得及被访问就被驱逐的页数
- LRU_IO_TOTAL:每个buffer pool instance中的LRU IO总数
- LRU_IO_CURRENT:每个buffer pool instance中当前的LRU IO数量
- UNCOMPRESS_TOTAL:每个buffer pool instance中解压缩的总页数
- UNCOMPRESS_CURRENT:每个buffer pool instance中当前解压缩的页数
- 表记录内容示例
admin@localhost : information_schema 06:50:38> select * from INNODB_BUFFER_POOL_STATS limit 1\G;
*************************** 1. row ***************************
POOL_ID: 0
POOL_SIZE: 32764
FREE_BUFFERS: 32074
DATABASE_PAGES: 690
OLD_DATABASE_PAGES: 235
MODIFIED_DATABASE_PAGES: 0
PENDING_DECOMPRESS: 0
PENDING_READS: 0
PENDING_FLUSH_LRU: 0
PENDING_FLUSH_LIST: 0
PAGES_MADE_YOUNG: 0
PAGES_NOT_MADE_YOUNG: 0
PAGES_MADE_YOUNG_RATE: 0
PAGES_MADE_NOT_YOUNG_RATE: 0
NUMBER_PAGES_READ: 294
NUMBER_PAGES_CREATED: 396
NUMBER_PAGES_WRITTEN: 1785
PAGES_READ_RATE: 0
PAGES_CREATE_RATE: 0
PAGES_WRITTEN_RATE: 0
NUMBER_PAGES_GET: 10822
HIT_RATE: 0
YOUNG_MAKE_PER_THOUSAND_GETS: 0
NOT_YOUNG_MAKE_PER_THOUSAND_GETS: 0
NUMBER_PAGES_READ_AHEAD: 0
NUMBER_READ_AHEAD_EVICTED: 0
READ_AHEAD_RATE: 0
READ_AHEAD_EVICTED_RATE: 0
LRU_IO_TOTAL: 0
LRU_IO_CURRENT: 0
UNCOMPRESS_TOTAL: 0
UNCOMPRESS_CURRENT: 0
1 row in set (0.00 sec)
上一篇:INNODB_CMPMEM和INNODB_CMPMEM_RESET表 |下一篇:INNODB_SYS_COLUMNS表