buffer相关参数:

show GLOBAL VARIABLES LIKE 'innodb_buffer_pool_instances';
show GLOBAL VARIABLES LIKE 'innodb_buffer_pool_size';
show GLOBAL VARIABLES LIKE 'innodb_buffer%';
show GLOBAL VARIABLES LIKE 'innodb_read_ahead_threshold';
DML缓存(inserts、deletes、purges、changes、all、none)
show GLOBAL VARIABLES LIKE 'innodb_change_buffering';
DML缓存占innodb缓存比例 
show GLOBAL VARIABLES LIKE 'innodb_change_buffer_max_size'; 
show GLOBAL VARIABLES LIKE 'innodb_max_dirty_pages_pct';
show GLOBAL VARIABLES LIKE 'innodb_io_capacity';
SHOW VARIABLES LIKE 'innodb_buffer_pool_size' +-------------------------+------------+
| Variable_name | Value |
+-------------------------+------------+ | innodb_buffer_pool_size | 6442450944 | +-------------------------+------------+ 1 row in set (0.00 sec) # 6442450944/1024/1024/1024 = 6G # 拆分缓冲池成多个部分,这样可以在高并发的情况下减少竞争
# 查看Buffer内free_buffer和总页数 SELECT POOL_ID,POOL_SIZE,FREE_BUFFERS,DATABASE_PAGES FROM INNODB_BUFFER_POOL_STATS;
# --pages_made_young : Old端移动到New端的数据页数;
# --pages_not_made_young : 在innodb_old_blocks_time从Old移动到New端的数据页数) show GLOBAL VARIABLES LIKE 'innodb_old_blocks_time'; SELECT POOL_ID,HIT_RATE,PAGES_MADE_YOUNG,PAGES_NOT_MADE_YOUNG FROM INNODB_BUFFER_POOL_STATS;
#查看脏数据页(table_name为NULL表示属于系统表空间) SELECT table_name,space,page_number,page_type FROM INNODB_BUFFER_PAGE_LRU WHERE OLDEST_MODIFICATION > 0;

innodb buffer pool预读

预读就是IO异步读取多个页数据读入buffer pool的一个过程,并且这些页被认为是很快就会被 读取到的

线性预读:能够预测将有那些数据很快能被读到的一种技术,因为buffer pool中的页数据是顺序访问的。innodb_read_ahead_threshold的值可以设置为0-64的任何一个值。默认值是56,值设置的越高就会造成检索更加严格。当设置为8的时候,只有小于8个页数据被读进buffer pool中才会被检索。

随机预读:随机预读能够将在内存当中的将被读取到的页信息很快的组织到一个区中,而且这些页面的读取顺序不用分顺序,INNODB能够很快调度buffer pool当中相似的很多页的信息,并且发出请求。这些页可能并不是连续的,要想使用这个功能就要设置innodb_random_read_ahead 这个参数为ON。

参考:

顺子:innodb buffer pool

Innodb buffer 相关参数的更多相关文章

  1. innodb引擎相关参数

    1.innodb_flush_log_at_trx_commit (双一标准之一) 作用:主要控制了innodb将log buffer中的数据写入日志文件并flush磁盘的时间点,取值分别为0.1.2 ...

  2. MySQL相关参数总结

    保留个原文链接,避免被爬虫爬了过去,以便后续更正补充:https://www.cnblogs.com/wy123/p/11273023.html MySQL参数繁多,是一个需要根据具体业务.软硬件环境 ...

  3. Mysql Innodb 引擎优化-内存、日志、IO、其他相关参数

    介绍: InnoDB给MySQL提供了具有提交,回滚和崩溃恢复能力的事务安全(ACID兼容)存储引擎.InnoDB锁定在行级并且也在SELECT语句提供一个Oracle风格一致的非锁定读.这些特色增加 ...

  4. innodb buffer pool相关特性

    背景 innodb buffer pool作为innodb最重要的缓存,其缓存命中率的高低会直接影响数据库的性能.因此在数据库发生变更,比如重启.主备切换实例迁移等等,innodb buffer po ...

  5. Innodb buffer pool/redo log_buffer 相关

    InnoDB存储引擎是基于磁盘存储的,并将其中的记录按照页的方式进行管理.在数据库系统中,由于CPU速度和磁盘速度之前的鸿沟,通常使用缓冲池技术来提高数据库的整体性能. 1. Innodb_buffe ...

  6. Innodb Read IO 相关参数源代码解析

    前言:最近在阅读Innodb IO相关部分的源代码.在阅读之前一直有个疑问,show global status 中有两个指标innodb_data_reads 和 innodb_data_read. ...

  7. innodb buffer pool小解

    INNODB维护了一个缓存数据和索引信息到内存的存储区叫做buffer pool,他会将最近访问的数据缓存到缓冲区.通过配置各个buffer pool的参数,我们可以显著提高MySQL的性能. INN ...

  8. MySQL · 引擎特性 · InnoDB Buffer Pool

    前言 用户对数据库的最基本要求就是能高效的读取和存储数据,但是读写数据都涉及到与低速的设备交互,为了弥补两者之间的速度差异,所有数据库都有缓存池,用来管理相应的数据页,提高数据库的效率,当然也因为引入 ...

  9. MySQL IO线程及相关参数调优

    一.关于一个SQL的简单的工作过程 1.工作前提描述 1.启动MySQL,在内存中分配一个大空间innodb_buffer_pool(其中log_buffer) 2.多用户线程连接MySQL,从内存分 ...

随机推荐

  1. Java如何检查端口是否被使用?

    在Java编程中,如何扫描打开的端口(是否被使用)? 以下示例显示如何通过创建 Socket 对象来检查主机上打开或正在使用的端口(相当于一个简单的端口扫描器). package com.yiibai ...

  2. 可能是最早的学习Android N新特性的文章

    可能是最早的学习Android N新特性的文章 Google在今天放出了Android N开发者预览版.Android N支持Nexus6及以上的设备.5太子Nexus5不再得到更新. Android ...

  3. IntelliJ IDEA下spring boot项目打包

    Spring Boot自带Tomcat插件,可以直接编写启动类,开启Tomcat服务 springboot适合前后端分离,打成jar进行部署更合适 application.properties配置端口 ...

  4. python 迭代器模式

    迭代器模式 迭代器模式(Iterator Pattern)是 Java 和 .Net 编程环境中非常常用的设计模式.这种模式用于顺序访问集合对象的元素,不需要知道集合对象的底层表示. 迭代器模式属于行 ...

  5. [Laravel] 10 - WEB API : wrapper

    前言 一.常用的解决方案 React 前端 + PHP (Laravel) 后端 Such as "some exposure to WEB API’s and/or RESTful“. 使 ...

  6. [Node.js] 09 - Connect with Database

    简介两个数据库: Node.js 连接 MySQL Node.js 连接 MongoDB Node.js 连接 MySql 导入已有数据库: unsw@unsw-UX303UB$ mysql -u r ...

  7. 《objective-c基础教程》学习笔记(六)—— 复合方法

    今天我们要讲的复合,当然不是小情侣吵着分手,然后又在一起的复合. 复合遵循一个合成复用原则,又称为组合或者聚合复用原则.该原则的内容是:尽量使用对象组合,而不是继承来达到复用的目的.用聚合可以使系统更 ...

  8. [Python] Python 虚拟机 - virtualenv

    virtualenv virtualenv 用于创建一个隔离的 Python 环境. 每个项目都有自己的依赖包,这些依赖包有时存在版本冲突,处理这种情况最好方法就是为每个项目创建一个专属的环境. 安装 ...

  9. [Cubieboard] 镜像资源汇总

    Linaro Server 14.04 (SDCard) 下载:cb2-lubuntu-server-tsd-tfcard-v2.0.img.gz 内核:GNU/Linux 3.4.79 armv7l ...

  10. Maven & Gradle 如何从中央仓库下载Jar包

    https://mvnrepository.com/    maven 中央仓库 gradle可以轻松的完成Android项目对第三方jar包文件的依赖下载,再也不需要我们手动下载jar包,然后拷贝到 ...