MySQL 8.0版本说明
MySQL 8.0源代码文档10bet官方网站
性能模式工具等待,这是需要时间的事件。在事件层次结构中,等待事件嵌套在阶段事件中,阶段事件嵌套在语句事件中,语句事件嵌套在事务事件中。
这些表存储等待事件:
events_waits_current
:每个线程的当前等待事件。events_waits_history
:每个线程最近结束的等待事件。events_waits_history_long
:最近在全局(跨所有线程)结束的等待事件。
下面几节描述等待事件表。还有一些汇总表可以聚合关于等待事件的信息;看到第27.12.20.1节“等待事件汇总表”.
有关三个等待事件表之间关系的详细信息,请参见第27.9节,“当前和历史事件的性能模式表”.
配置等待事件收集
要控制是否收集等待事件,可以设置相关工具和消费者的状态:
的
setup_instruments
表中包含名称以等待
.使用这些工具来启用或禁用单个等待事件类的收集。的
setup_consumers
表包含使用者值,其名称与当前和历史等待事件表名称对应。使用这些消费者来筛选等待事件的集合。
一些等待工具在默认情况下是启用的;其他人是残疾人。例如:
SELECT NAME, ENABLED, TIMED FROM performance_schemasetup_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 | |没有 | +----------------------------------------+---------+-------+
默认情况下,等待消费者是禁用的:
mysql> SELECT * FROM performance_schemasetup_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-waits-current=ON performance-schema-consumer-events-waits-history=ON performance-schema-consumer-events-waits-history-long=ON
禁用:
[mysqld] performance-schema-instrument='wait/%=OFF' performance-schema-consumer-events-waits-current=OFF performance-schema-consumer-events-waits-history-long=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%';
如果只收集特定的等待事件,请只启用相应的等待工具。若要仅为特定的等待事件表收集等待事件,请启用等待工具,但只启用与所需表对应的等待消费者。
有关配置事件收集的其他信息,请参见第27.3节,“性能模式启动配置”,第27.4节,“性能模式运行时配置”.