Skip to content

INNODB_METRICS

xiaoboluo768 edited this page Jun 7, 2020 · 2 revisions
  • 该表提供查询InnoDB更为详细细致的性能信息,是对InnoDB的PERFORMANCE_SCHEMA的补充。通过对该表的查询,可用于检查innodb的整体健康状况。也可用于诊断性能瓶颈、资源短缺和应用程序的问题等。
  • 该表中的每一行记录代表innodb源代码中的一个instruments点,对应源代码中的一个计数器。每个计数器都可以单独启动、停止和重置值。也可以使用通用模块名称为一组计数器执行起停与重置值操作(同属于一个模块下的一组instrument,使用模块名称即可快速起停、重置一组instruments)
  • 默认情况下,只开启了极少数的计数器。 如果要启动、停止和重置计数器,可以使用计数器的名称、或者模块的名称、或者通配符匹配名称来设置innodb_monitor_enable、innodb_monitor_disable、innodb_monitor_reset、innodb_monitor_reset_all系统变量来起停、重置计数器。如果设置这4个变量来操作这些计数器,详见链接:https://dev.mysql.com/doc/refman/5.7/en/innodb-information-schema-metrics-table.html
  • 该表为memory引擎临时表,查询该表的用户需要有process权限
  • 表定义语句
CREATE TEMPORARY TABLE `INNODB_METRICS` (
  `NAME` varchar(193) NOT NULL DEFAULT '',
  `SUBSYSTEM` varchar(193) NOT NULL DEFAULT '',
  `COUNT` bigint(21) NOT NULL DEFAULT '0',
  `MAX_COUNT` bigint(21) DEFAULT NULL,
  `MIN_COUNT` bigint(21) DEFAULT NULL,
  `AVG_COUNT` double DEFAULT NULL,
  `COUNT_RESET` bigint(21) NOT NULL DEFAULT '0',
  `MAX_COUNT_RESET` bigint(21) DEFAULT NULL,
  `MIN_COUNT_RESET` bigint(21) DEFAULT NULL,
  `AVG_COUNT_RESET` double DEFAULT NULL,
  `TIME_ENABLED` datetime DEFAULT NULL,
  `TIME_DISABLED` datetime DEFAULT NULL,
  `TIME_ELAPSED` bigint(21) DEFAULT NULL,
  `TIME_RESET` datetime DEFAULT NULL,
  `STATUS` varchar(193) NOT NULL DEFAULT '',
  `TYPE` varchar(193) NOT NULL DEFAULT '',
  `COMMENT` varchar(193) NOT NULL DEFAULT ''
) ENGINE=MEMORY DEFAULT CHARSET=utf8
  • 表字段含义
  • NAME:计数器的唯一名称
  • SUBSYSTEM:计数器对应的模块名称,使用SET GLOBAL语法+innodb_monitor_enable、innodb_monitor_disable、innodb_monitor_reset、innodb_monitor_reset_all几个系统变量与一起使用来起停、重置计数器时,需要在模块名前面加“module ”字样,例如:子系统为dml,则开启该模块下的所有计数器的SQL语句为 SET GLOBAL innodb_monitor_enable = module_dml;
  • COUNT:自计数器启用后的统计值
  • MAX_COUNT:自计数器启用以来的最大统计值
  • MIN_COUNT:自计数器启用后的最小统计值
  • AVG_COUNT:自计数器启用以来的平均统计值
  • COUNT_RESET:自上次重置计数器值以来的计数器值
  • MAX_COUNT_RESET:自上次重置计数器以来的最大计数器值
  • MIN_COUNT_RESET:自上次重置计数器以来的最小计数器值
  • AVG_COUNT_RESET:自上次重置计数器以来的平均计数器值
  • TIME_ENABLED:最近一次启动计数器的时间
  • TIME_DISABLED:最近一次关闭计数器的时间
  • TIME_ELAPSED:自计数器启动以来的经过时间,以秒为单位
  • TIME_RESET:最近一次重置计数器的时间
  • STATUS:计数器的当前状态,有效值为:enabled和disabled
  • TYPE:计数器是累计值类型,还是测量某个资源的当前值类型
  • COMMENT:计数器注释
  • 表记录内容示例
admin@localhost : information_schema 06:48:59> select * from INNODB_METRICS where COUNT_RESET > 0 limit 1\G;
*************************** 1. row ***************************
          NAME: lock_timeouts
      SUBSYSTEM: lock
          COUNT: 2
      MAX_COUNT: 2
      MIN_COUNT: NULL
      AVG_COUNT: 0.00005471806516921562
    COUNT_RESET: 2
MAX_COUNT_RESET: 2
MIN_COUNT_RESET: NULL
AVG_COUNT_RESET: NULL
  TIME_ENABLED: 2017-09-25 08:40:07
  TIME_DISABLED: NULL
  TIME_ELAPSED: 36551
    TIME_RESET: NULL
        STATUS: enabled
          TYPE: counter
        COMMENT: Number of lock timeouts
1 row in set (0.00 sec)

上一篇:INNODB_SYS_TABLESPACES表 |下一篇:INNODB_SYS_FOREIGN_COLS表

Clone this wiki locally