INNODB_METRICS
表提供了各种各样的 InnoDB
性能信息,补充了针对 InnoDB
的 Performance Schema 表的特定关注领域。通过简单的查询,您可以检查系统的整体健康状况。通过更详细的查询,您可以诊断性能瓶颈、资源短缺和应用程序问题等问题。
每个监控器代表 InnoDB
源代码中的一个点,该点被检测以收集计数器信息。每个计数器都可以启动、停止和重置。您还可以使用它们的公共模块名称对一组计数器执行这些操作。
默认情况下,收集的数据相对较少。要启动、停止和重置计数器,请使用计数器的名称、模块的名称、使用 “%” 字符进行此类名称的通配符匹配,或使用特殊的关键字 all
,设置系统变量之一 innodb_monitor_enable
、innodb_monitor_disable
、innodb_monitor_reset
或 innodb_monitor_reset_all
。
有关使用信息,请参见 第 17.15.6 节,“InnoDB INFORMATION_SCHEMA 度量表”。
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
值可能与 Performance SchemaEVENTS_TRANSACTIONS_SUMMARY
表中报告的事务事件数量不同。InnoDB
仅计算其执行的事务,而 Performance Schema 收集服务器启动的所有未中止事务的事件,包括空事务。