25.4 性能架构运行时配置

可以在运行时启用特定的性能架构功能,以控制发生哪种类型的事件收集。

性能架构设置 table 包含有关监视配置的信息:

mysql> SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
       WHERE TABLE_SCHEMA = 'performance_schema'
       AND TABLE_NAME LIKE 'setup%';
+-------------------+
| TABLE_NAME        |
+-------------------+
| setup_actors      |
| setup_consumers   |
| setup_instruments |
| setup_objects     |
| setup_timers      |
+-------------------+

您可以检查这些 table 的内容以获得有关性能模式监视 Feature 的信息。如果您具有UPDATE特权,则可以通过修改设置 table 以影响监视的方式来更改性能架构操作。有关这些 table 的更多详细信息,请参见第 25.12.2 节“性能架构设置 table”

要查看选择了哪些事件计时器,请查询setup_timerstable:

mysql> SELECT * FROM performance_schema.setup_timers;
+-------------+-------------+
| NAME        | TIMER_NAME  |
+-------------+-------------+
| idle        | MICROSECOND |
| wait        | CYCLE       |
| stage       | NANOSECOND  |
| statement   | NANOSECOND  |
| transaction | NANOSECOND  |
+-------------+-------------+

NAME值指示计时器适用的乐器类型,而TIMER_NAME指示哪个计时器适用于那些乐器。计时器适用于名称与NAME值匹配的组件开头的乐器。

要更改计时器,请更新NAME值。例如,要将NANOSECOND计时器用于wait计时器,请执行以下操作:

mysql> UPDATE performance_schema.setup_timers
       SET TIMER_NAME = 'NANOSECOND'
       WHERE NAME = 'wait';
mysql> SELECT * FROM performance_schema.setup_timers;
+-------------+-------------+
| NAME        | TIMER_NAME  |
+-------------+-------------+
| idle        | MICROSECOND |
| wait        | NANOSECOND  |
| stage       | NANOSECOND  |
| statement   | NANOSECOND  |
| transaction | NANOSECOND  |
+-------------+-------------+

有关计时器的讨论,请参见第 25.4.1 节“性能架构事件计时”

setup_instrumentssetup_consumerstable 分别列出了可以收集事件的工具以及实际收集事件信息的使用者的类型。其他设置 table 可进一步修改监视配置。 第 25.4.2 节“性能模式事件过滤”讨论如何修改这些 table 以影响事件收集。

如果必须在运行时使用 SQL 语句对 Performance Schema 配置进行更改,并且您希望每次服务器启动时这些更改都生效,请将这些语句放入文件中,然后使用设置为的_系统变量设置名称来启动服务器。文件。如果您有多个监视配置,每个监视配置经过定制以产生不同种类的监视,例如临时服务器运行状况监视,事件调查,应用程序行为故障排除等,则此策略也很有用。将每个监视配置的语句放入它们自己的文件中,并在启动服务器时将适当的文件指定为init_file值。