首页 > 数据库 >饱和度 - 监控MySQL的InnoDB Buffer pool 相关的指标

饱和度 - 监控MySQL的InnoDB Buffer pool 相关的指标

时间:2023-02-11 11:12:32浏览次数:57  
标签:Buffer 指标 buffer Innodb MySQL InnoDB pool

1. 对于 MySQL 而言,用什么指标来反映资源有多“满”呢?首先我们要关注 MySQL 所在机器的 CPU、内存、硬盘 I/O、网络流量这些基础指标

2. MySQL 本身也有一些指标来反映饱和度,比如刚才我们讲到的连接数,当前连接数(Threads_connected)除以最大连接数(max_connections)    可以得到连接数使用率

是一个需要重点监控的饱和度指标。

 

3. InnoDB Buffer pool 相关的指标,一个是 Buffer pool 的使用率,一个是 Buffer pool 的内存命中率。Buffer pool 是一块内存,专门用来缓存 Table、Index 相关的数据,提升查询性能。对 InnoDB 存储引擎而言,Buffer pool 是一个非常关键的设计。我们查看一下 Buffer pool 相关的指标。

MariaDB [(none)]> show global status like '%buffer%';
+---------------------------------------+--------------------------------------------------+
| Variable_name                         | Value                                            |
+---------------------------------------+--------------------------------------------------+
| Innodb_buffer_pool_pages_free         | 1036                                             |
| Innodb_buffer_pool_pages_total        | 8191                                             |
+---------------------------------------+--------------------------------------------------+
19 rows in set (0.001 sec)

Innodb_buffer_pool_pages_total 表示 InnoDB Buffer pool 的页总量,页(page)是 Buffer pool 的一个分配单位,默认的 page size 是 16KiB,可以通过  show variables like "innodb_page_size" 拿到。

 

Innodb_buffer_pool_pages_free 是剩余页数量,通过 total 和 free 可以计算出 used

用 used 除以 total 就可以得到使用率

当然,使用率高并不是说有问题,因为 InnoDB 有 LRU 缓存清理机制,只要响应得够快,高使用率也不是问题。

 

Innodb_buffer_pool_read_requests 和 Innodb_buffer_pool_reads 是另外两个关键指标。read_requests 表示向 Buffer pool 发起的查询总量,如果 Buffer pool 缓存了相关数据直接返回就好,如果 Buffer pool 没有相关数据,就要穿透内存去查询硬盘了。有多少请求满足不了需要去查询硬盘呢?

 

看 Innodb_buffer_pool_reads 指标统计的数量。所以,reads 这个指标除以 read_requests 就得到了穿透比例,这个比例越高,性能越差,一般可以通过调整 Buffer pool 的大小来解决。

标签:Buffer,指标,buffer,Innodb,MySQL,InnoDB,pool
From: https://www.cnblogs.com/hixiaowei/p/17111061.html

相关文章

  • linux安装 mysql
    在终端中输入命令安装mysqlsudoapt-getinstallmysql-server安装成功后可以在终端中输入下面命令登录mysql不知道为什么,在网上搜索有的会说安装的时候会让你设置......
  • MySQL数据类型
    数值类型关键字INT是INTEGER的同义词,关键字DEC是DECIMAL的同义词。TINYINT1Bytes(-128,127)(0,255)小整数值SMALLINT2Bytes(-32768,32767)(0,65535)大整......
  • MySQL数据库系统部署使用
    推荐步骤:在centos01上安装MySQL数据库服务,生成服务器配置文件,添加系统服务优化命令初始化MySQL,设置访问密码登录MySQL数据库 在centos01的MySQL服务器上创建数据库,数据库......
  • 性能分析 | MySQL Index Condition Pushdown(ICP)
    介绍概念介绍索引下推(IndexConditionPushdown,简称ICP),是MySQL5.6版本的新特性,ICP是针对MySQL使用索引从表中检索行的情况的优化方式关闭ICP,存储引擎会遍历索引以定位......
  • MySQL数据库系统部署使用
    拓扑图:推荐步骤: 在centos01上安装MySQL数据库服务,生成服务器配置文件,添加系统服务优化命令初始化MySQL,设置访问密码登录MySQL数据库 在centos01的MySQL服务器上创建数据......
  • MySQL - B+树
    B+树一个m阶的B+树具有如下几个特征:有k个子树的中间节点包含有k个元素(B树中是k-1个元素),每个元素不保存数据,只用来索引,所有数据都保存在叶子节点。所有的叶子结点中包含......
  • MySQL--binlog2sql 安装及使用
    安装:依赖python3,请提前安装开源地址:https://github.com/danfengcao/binlog2sql$curlhttps://bootstrap.pypa.io/get-pip.py-oget-pip.py #下载安装脚本$sudop......
  • 【Percona】innodb_corrup_table_action参数拯救你的数据库
    当mysqld服务进程访问损坏的表时,数据库会直接崩溃退出。如果在遭遇到损坏的表时,不希望出现这种结果,请将参数innodb_corrupt_table_action变量值设置为​​salvage​​,该值会......
  • 记一次在Linux-Ubuntu上的mysql8安装
    踩坑网上的信息干货量太少了,都错的了解到centos系和ubuntu系的Linux还是有较大的区别的,命令都有不同,yum和apt,包管理器都不一样新开的Linux服务器跟裸奔一样,啥啥命令都没......
  • MySQL数据库系统部署使用
    推荐步骤: 在centos01上安装MySQL数据库服务,生成服务器配置文件,添加系统服务优化命令初始化MySQL,设置访问密码登录MySQL数据库 在centos01的MySQL服务器上创建数据库,数......