首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >监控InnoDB unpurge list length新方法

监控InnoDB unpurge list length新方法

作者头像
田帅萌
发布2019-08-13 15:49:22
发布2019-08-13 15:49:22
7890
举报
文章被收录于专栏:「3306 Pai」社区「3306 Pai」社区

导读

想要监控InnoDB unpurge list,除了执行 show engine innodb status\G 之外还有什么方法?

在以往,想要查看InnoDB中unpurges list length,需要执行下面的命令:

代码语言:javascript
复制
[root@yejr.me]> show engine innodb status\G
...
TRANSACTIONS
------------
Trx id counter 8684590971
Purge done for trx's n:o < 8682844874 undo n:o < 0
   state: running but idle
History list length 462312
...

今天找到另一个可以查看InnoDB中unpurge list length的方法。

执行下面SQL:

代码语言:javascript
复制
[root@yejr.me]> select * from information_schema.innodb_metrics
  where name = 'trx_rseg_history_len'\G
*************************** 1. row ***************************
           NAME: trx_rseg_history_len
      SUBSYSTEM: transaction
          COUNT: 5
      MAX_COUNT: 27
      MIN_COUNT: 5
      AVG_COUNT: NULL
    COUNT_RESET: 5
MAX_COUNT_RESET: 27
MIN_COUNT_RESET: 5
AVG_COUNT_RESET: NULL
   TIME_ENABLED: 2019-05-20 10:41:50
  TIME_DISABLED: NULL
   TIME_ELAPSED: 1921486
     TIME_RESET: NULL
         STATUS: enabled
           TYPE: value
        COMMENT: Length of the TRX_RSEG_HISTORY list

有了这个方法,监控系统就会方便很多了,不用再利用正则去读取 SHOW ENGINE INNODB STATUS 输出的结果。

当然了,要先确认这个metric被启用了(MySQL 8.0.16下默认是启用的),若未启用,执行下面的命令:

代码语言:javascript
复制
set global innodb_monitor_enable = trx_rseg_history_len;

其他更多metrics可根据需求自行启用,当然了,大部分metric都是可以从global status里获取的。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-08-09,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • 导读
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档