文档首页
MySQL 9.0 参考手册
相关文档 下载本手册
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
手册页 (TGZ) - 258.2Kb
手册页 (Zip) - 365.3Kb
信息 (Gzip) - 4.0Mb
信息 (Zip) - 4.0Mb


MySQL 9.0 参考手册  /  ...  /  性能模式等待事件表

29.12.4 性能模式等待事件表

性能模式检测等待,即需要时间的事件。在事件层次结构中,等待事件嵌套在阶段事件中,阶段事件嵌套在语句事件中,语句事件嵌套在事务事件中。

以下表存储等待事件:

以下各节介绍等待事件表。还有一些汇总表汇总了有关等待事件的信息;请参阅 第 29.12.20.1 节 “等待事件汇总表”

有关三个等待事件表之间关系的更多信息,请参阅 第 29.9 节 “性能模式当前和历史事件表”

配置等待事件收集

要控制是否收集等待事件,请设置相关 Instrument 和 Consumer 的状态。

  • setup_instruments 表包含名称以 wait 开头的 Instrument。使用这些 Instrument 可以启用或禁用各个等待事件类的收集。

  • setup_consumers 表包含名称与当前和历史等待事件表名称相对应的 Consumer 值。使用这些 Consumer 可以过滤等待事件的收集。

某些等待 Instrument 默认启用;其他则默认禁用。例如:

Press CTRL+C to copy
mysql> SELECT NAME, ENABLED, TIMED FROM performance_schema.setup_instruments WHERE NAME LIKE 'wait/io/file/innodb%'; +-------------------------------------------------+---------+-------+ | NAME | ENABLED | TIMED | +-------------------------------------------------+---------+-------+ | wait/io/file/innodb/innodb_tablespace_open_file | YES | YES | | wait/io/file/innodb/innodb_data_file | YES | YES | | wait/io/file/innodb/innodb_log_file | YES | YES | | wait/io/file/innodb/innodb_temp_file | YES | YES | | wait/io/file/innodb/innodb_arch_file | YES | YES | | wait/io/file/innodb/innodb_clone_file | YES | YES | +-------------------------------------------------+---------+-------+ mysql> SELECT NAME, ENABLED, TIMED FROM performance_schema.setup_instruments WHERE NAME LIKE 'wait/io/socket/%'; +----------------------------------------+---------+-------+ | NAME | ENABLED | TIMED | +----------------------------------------+---------+-------+ | wait/io/socket/sql/server_tcpip_socket | NO | NO | | wait/io/socket/sql/server_unix_socket | NO | NO | | wait/io/socket/sql/client_connection | NO | NO | +----------------------------------------+---------+-------+

等待 Consumer 默认禁用:

Press CTRL+C to copy
mysql> SELECT * FROM performance_schema.setup_consumers WHERE NAME LIKE 'events_waits%'; +---------------------------+---------+ | NAME | ENABLED | +---------------------------+---------+ | events_waits_current | NO | | events_waits_history | NO | | events_waits_history_long | NO | +---------------------------+---------+

要在服务器启动时控制等待事件收集,请在 my.cnf 文件中使用如下所示的行:

  • 启用:

    Press CTRL+C to copy
    [mysqld] performance-schema-instrument='wait/%=ON' performance-schema-consumer-events-waits-current=ON performance-schema-consumer-events-waits-history=ON performance-schema-consumer-events-waits-history-long=ON
  • 禁用:

    Press CTRL+C to copy
    [mysqld] performance-schema-instrument='wait/%=OFF' performance-schema-consumer-events-waits-current=OFF performance-schema-consumer-events-waits-history=OFF performance-schema-consumer-events-waits-history-long=OFF

要在运行时控制等待事件收集,请更新 setup_instrumentssetup_consumers 表。

  • 启用:

    Press CTRL+C to copy
    UPDATE performance_schema.setup_instruments SET ENABLED = 'YES', TIMED = 'YES' WHERE NAME LIKE 'wait/%'; UPDATE performance_schema.setup_consumers SET ENABLED = 'YES' WHERE NAME LIKE 'events_waits%';
  • 禁用:

    Press CTRL+C to copy
    UPDATE performance_schema.setup_instruments SET ENABLED = 'NO', TIMED = 'NO' WHERE NAME LIKE 'wait/%'; UPDATE performance_schema.setup_consumers SET ENABLED = 'NO' WHERE NAME LIKE 'events_waits%';

要仅收集特定的等待事件,请仅启用相应的等待 Instrument。要仅为特定的等待事件表收集等待事件,请启用等待 Instrument,但仅启用与所需表对应的等待 Consumer。

有关配置事件收集的其他信息,请参阅 第 29.3 节 “性能模式启动配置”第 29.4 节 “性能模式运行时配置”