该 INNODB_METRICS
表提供了大量的 InnoDB 性能信息,补充了 Performance Schema 表对 InnoDB 的特定关注领域。使用简单的查询,您可以检查系统的整体健康状况。使用更详细的查询,您可以诊断性能瓶颈、资源短缺和应用程序问题。
每个监控器代表 InnoDB 源代码中的一个点,该点被instrumented以收集计数器信息。每个计数器可以启动、停止和重置。您也可以使用公共模块名称对一组计数器执行这些操作。
默认情况下,仅收集少量数据。要启动、停止和重置计数器,请设置系统变量 innodb_monitor_enable
、innodb_monitor_disable
、innodb_monitor_reset
或 innodb_monitor_reset_all
,使用计数器的名称、模块的名称、使用 “%” 字符的通配符匹配名称或特殊关键字 all
。
有关使用信息,请参阅 第 17.15.6 节,“InnoDB INFORMATION_SCHEMA Metrics 表”。
该 INNODB_METRICS
表具有以下列:
-
NAME
计数器的唯一名称。
-
SUBSYSTEM
InnoDB 方面,该指标适用。
-
COUNT
自启用计数器以来该值。
-
MAX_COUNT
自启用计数器以来该最大值。
-
MIN_COUNT
自启用计数器以来该最小值。
-
AVG_COUNT
自启用计数器以来该平均值。
-
COUNT_RESET
自最后重置以来该计数器值。(<_RESET> 列类似于秒表的分段计时器:您可以测量某个时间间隔内的活动,而累积数字仍然可在
COUNT
、MAX_COUNT
等中找到。) -
MAX_COUNT_RESET
自最后重置以来该最大计数器值。
-
MIN_COUNT_RESET
自最后重置以来该最小计数器值。
-
AVG_COUNT_RESET
自最后重置以来该平均计数器值。
-
TIME_ENABLED
最后启用的时间戳。
-
TIME_DISABLED
最后停用的时间戳。
-
TIME_ELAPSED
自计数器启动以来经过的秒数。
-
TIME_RESET
最后重置的时间戳。
-
STATUS
该计数器是否仍在运行(
enabled
)或已停止(disabled
)。 -
TYPE
该项是否为累积计数器,或者测量某个资源的当前值。
-
COMMENT
该计数器的描述。
示例
mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE NAME='dml_inserts'\G
*************************** 1. row ***************************
NAME: dml_inserts
SUBSYSTEM: dml
COUNT: 3
MAX_COUNT: 3
MIN_COUNT: NULL
AVG_COUNT: 0.046153846153846156
COUNT_RESET: 3
MAX_COUNT_RESET: 3
MIN_COUNT_RESET: NULL
AVG_COUNT_RESET: NULL
TIME_ENABLED: 2014-12-04 14:18:28
TIME_DISABLED: NULL
TIME_ELAPSED: 65
TIME_RESET: NULL
STATUS: enabled
TYPE: status_counter
COMMENT: Number of rows inserted
注意
-
您必须拥有
PROCESS
权限才能查询该表。 -
使用
INFORMATION_SCHEMA
COLUMNS
表或SHOW COLUMNS
语句来查看该表的列的更多信息,包括数据类型和默认值。 -
事务计数器
COUNT
值可能与性能模式EVENTS_TRANSACTIONS_SUMMARY
表中报告的事务事件数量不同。InnoDB
只计数它执行的事务,而性能模式则收集服务器启动的所有非中止事务的事件,包括空事务。