MySQL 8.0参考手册
MySQL 8.0版本说明
性能模式工具等待,这是需要时间的事件。在事件层次结构中,等待事件嵌套在阶段事件中,阶段事件嵌套在语句事件中,语句事件嵌套在事务事件中。
这些表存储等待事件:
events_waits_current
:每个线程的当前等待事件。events_waits_history
:每个线程最近结束的等待事件。events_waits_history_long
:全局结束的最近的等待事件(跨所有线程)。
以下部分描述了等待事件表。还有汇总关于等待事件信息的汇总表;看到第10.20.1节,“等待事件汇总表”.
有关三个等待事件表之间关系的更多信息,请参见当前和历史事件的性能模式表.
配置等待事件收集
要控制是否收集等待事件,可以设置相关工具和消费者的状态:
的
setup_instruments
表包含名称以“。”开头的仪器等待
.使用这些工具可以启用或禁用单个等待事件类的收集。的
setup_consumers
表包含消费者值,其名称与当前和历史等待事件表名称对应。使用这些消费者来筛选等待事件的集合。
默认情况下,一些等待工具是启用的;其他人被禁用。例如:
mysql> SELECT NAME, ENABLED, TIMED FROM performance_schema。setup_instruments WHERE NAME LIKE 'wait/io/file/innodb%';+-------------------------------------------------+---------+-------+ | 名字| |定时启用 | +-------------------------------------------------+---------+-------+ | 等待/ io /文件/ innodb / innodb_tablespace_open_file |是的| | |等待/ io /文件/ innodb / innodb_data_file |是的| | |等待/ io /文件/ innodb / innodb_log_file |是的| | |等待/ io /文件/ innodb / innodb_temp_file |是的| | |等待/ io /文件/ innodb / innodb_arch_file |是的| | |等待/ io /文件/ innodb / innodb_clone_file |是的| |+-------------------------------------------------+---------+-------+ mysql >选择名称,启用,从performance_schema定时。setup_instruments WHERE NAME LIKE 'wait/io/socket/%';+----------------------------------------+---------+-------+ | 名字| |定时启用 | +----------------------------------------+---------+-------+ | 等待/ io /套筒/ sql / server_tcpip_socket |没有| | |等待/ io /套筒/ sql / server_unix_socket |没有| | |等待/ io /套筒/ sql / client_connection | |没有 | +----------------------------------------+---------+-------+
默认情况下,等待消费者是禁用的:
SELECT * FROM performance_schema。setup_consumersWHERE NAME LIKE 'events_waits%'; +---------------------------+---------+ | NAME | ENABLED | +---------------------------+---------+ | events_waits_current | NO | | events_waits_history | NO | | events_waits_history_long | NO | +---------------------------+---------+
要在服务器启动时控制等待事件收集,请在您的my.cnf
文件:
启用:
[mysqld] performance-schema-instrument='wait/%=ON' performance-schema-consumer-events- waiting -current=ON performance-schema-consumer-events- waiting -history=ON
禁用:
[mysqld] performance-schema-instrument='wait/%=OFF' performance-schema-consumer-events- waiting -current=OFF performance-schema-consumer-events- waiting -history=OFF
若要在运行时控制等待事件收集,请更新setup_instruments
而且setup_consumers
表:
启用:
更新performance_schema。setup_instrumentsSET ENABLED = 'YES', TIMED = 'YES' WHERE NAME LIKE 'wait/%'; UPDATE performance_schema.setup_consumers SET ENABLED = 'YES' WHERE NAME LIKE 'events_waits%';
禁用:
更新performance_schema。setup_instrumentsSET ENABLED = 'NO', TIMED = 'NO' WHERE NAME LIKE 'wait/%'; UPDATE performance_schema.setup_consumers SET ENABLED = 'NO' WHERE NAME LIKE 'events_waits%';
若要只收集特定的等待事件,请只启用相应的等待工具。若要仅为特定的等待事件表收集等待事件,请启用等待工具,但只启用与所需表对应的等待消费者。
有关配置事件收集的其他信息,请参见第四章,性能模式启动配置,第五章,性能模式运行时配置.