Innodb buffer相关参数及查看方式(待续)

buffer相关参数:

innodb_buffer_pool_size                      innodb_buffer 大小

innodb_buffer_pool_instances            
innodb_buffer instance 个数

innodb_old_blocks_pct                        LRU端mid点位置

innodb_old_blocks_time                      LRU在Old端保留的时间

innodb_io_capacity                              刷新到磁盘页的数量

innodb_max_dirty_pages_pct              脏页占buffer最大比例

innodb_purge_batch_size                    full purge回收undo页的数量

innodb_adaptive_flushing                  
 自适应刷新,该参数影响每秒刷新脏页的数量(如果脏页量大于innodb_max_dirty_pages_pct,则会根据redolog产生的速度决定最合适的刷新脏页数量)

innodb_change_buffering

innodb_change_buffer_max_size

--查看Buffer内free_buffer和总页数

SELECT  POOL_ID,POOL_SIZE,FREE_BUFFERS,DATABASE_PAGES

FROM  INNODB_BUFFER_POOL_STATS;

--查看page made young和not young页情况

--(page made young为LRU由OLD端移动到New端的数据页数;not young为LRU由于innodb_old_blocks_time参数没有从Old移动到New端的数据页数)

SELECT  POOL_ID,HIT_RATE,PAGES_MADE_YOUNG,PAGES_NOT_MADE_YOUNG

FROM  INNODB_BUFFER_POOL_STATS;

--查看unzip_LRU列表页情况(unzip_LRU管理非16K页)

SELECT TABLE_NAME,SPACE,PAGE_NUMBER,COMPRESSED_SIZE

FROM  INNODB_BUFFER_PAGE_LRU

WHERE  COMPRESSED_SIZE <> 0;

--查看脏数据页(table_name为NULL表示属于系统表空间)

SELECT table_name,space,page_number,page_type

FROM  INNODB_BUFFER_PAGE_LRU

WHERE  OLDEST_MODIFICATION > 0;

时间: 2024-12-29 10:15:26

Innodb buffer相关参数及查看方式(待续)的相关文章

innodb引擎相关参数

1.innodb_flush_log_at_trx_commit (双一标准之一) 作用:主要控制了innodb将log buffer中的数据写入日志文件并flush磁盘的时间点,取值分别为0.1.2三个.查询:select @@innodb_flush_log_at_trx_commit;参数说明:1,每次事物的提交都会引起日志文件写入.flush磁盘的操作,确保了事务的ACID:flush 到操作系统的文件系统缓存 fsync到物理磁盘.0,表示当事务提交时,不做日志写入操作,而是每秒钟将l

innodb buffer pool相关特性

背景 innodb buffer pool作为innodb最重要的缓存,其缓存命中率的高低会直接影响数据库的性能.因此在数据库发生变更,比如重启.主备切换实例迁移等等,innodb buffer poll 需要一段时间预热,期间数据库的性能会受到明显影响.另外mysql 5.7以前innodb buffer pool缓存大小修改不是动态的,重启才能生效.因此innodb buffer pool的预热和innodb buffer pool大小的动态修改,对性能要求较高的应用来说是不错的特性,下面我

MySQL IO线程及相关参数调优

一.关于一个SQL的简单的工作过程 1.工作前提描述 1.启动MySQL,在内存中分配一个大空间innodb_buffer_pool(其中log_buffer) 2.多用户线程连接MySQL,从内存分配用户工作空间(其中排序空间) 3.磁盘上有数据库文件.ib_logfile.tmp目录.undo 2.SQL的简易流程 1.DQL操作 1.首先进行内存读 2.如果buffer pool中没有所需数据,就进行物理读 3.物理读数据读入buffer pool,再返回给用户工作空间 2.DML操作(例

innodb buffer pool小解

INNODB维护了一个缓存数据和索引信息到内存的存储区叫做buffer pool,他会将最近访问的数据缓存到缓冲区.通过配置各个buffer pool的参数,我们可以显著提高MySQL的性能. INNODB的buffer pool是基于LRU算法来实现的,我们可以简单了解以下LRU算法: LRU: least recently used ,INNODB管理buffer poll是将buffer pool作为一个list管理,基于LRU算法的管理.当有新的页信息要读入到buffer pool里面的

innodb部分常用参数解析

一.文件(数据文件.日志文件) 1.相关参数: innodb_data_home_dir innodb_data_file_path=file_name:file_size[:autoextend[:max:max_file_size]] 注: a.innodb_data_file_path的值应该为一个或多个 数据文件规格的列表.如果命名一个以上的数据文件,用 分号(';')分隔它们 b.autoextend属性和后面跟着的属性只可被用来对innodb_data_file_path行里最后一个

InnoDB缓存相关

InnoDB存储引擎是基于磁盘存储的,并将其中的记录按照页的方式进行管理.在数据库系统中,由于CPU速度和磁盘速度之前的鸿沟,通常使用缓冲池技术来提高数据库的整体性能. 1. Innodb_buffer_pool 缓冲池(buffer pool)简单来说就是一块内存区域.缓冲池中缓存的数据页类型有:索引页.数据页.undo页.插入缓冲.自适应哈希索引.InnoDB存储的锁信息.数据字典信息等.不能简单认为,缓冲池只是缓存索引页和数据页,它们只是占缓冲池很大的一部分而已. 在数据库中进行读取页的操

MYSQL的InnoDB Buffer Pool内部机制

1. 基本结构:INNODB用least recently used (LRU) 算法来管理他的buffer_pool. buffer_pool在内部被分隔为两个list. a young list 和 a old list. Young list 存储那些高频使用的缓存数据(默认占整个BUFFER的5/8) Old list 存储那些低频使用的数据(默认占整个BUFFER的3/8) 2.使用机制:当一个新块数据被从磁盘缓存到buffer当中,它默认被放在Old list的头部,即midpoin

MySQL Innodb 并发涉及参数

1 参数作用 MySQL的各个插件式引擎中,都会对事务及线程做一定的处理和优化.在Innodb引擎中,总是尝试保持 innodb内 操作系统的线程数(暂命名为innodb_thread) 应该小于或等于 系统可提供给innodb处理事务的线程数(暂命名为system_innodb_thread).在大多数情况下,innodb_thread都不会指定一个限制值,而是让它想要多少直接申请多少. 当 innodb_thread 大于system_innodb_thread 时,持续时间较长时,会导致服

Oracle 表的创建 及相关参数

1. 创建表完整语法 CREATE TABLE [schema.]table (column datatype [, column datatype] - ) [TABLESPACE tablespace] [PCTFREE integer] [PCTUSED integer] [INITRANS integer] [MAXTRANS integer] [STORAGE storage-clause] [LOGGING | NOLOGGING] [CACHE | NOCACHE] ]; 说明: