消费者配置示例
该setup_consumers
表中的使用者设置构成了从较高级别到较低级别的层次结构。以下讨论描述了使用者的工作方式,显示了从高到低逐步启用使用者设置时的特定配置及其效果。显示的消费者价值具有代表性。此处描述的一般原则适用于其他可用的消费者价值。
配置描述按功能和开销增加的顺序进行。如果不需要通过启用较低级别设置提供的信息,请禁用它们,并且“性能模式”将代表您执行更少的代码,并且您将需要筛选的信息也更少。
该setup_consumers
表包含以下值层次结构:
global_instrumentation thread_instrumentation events_waits_current events_waits_history events_waits_history_long events_stages_current events_stages_history events_stages_history_long events_statements_current events_statements_history events_statements_history_long events_transactions_current events_transactions_history events_transactions_history_long statements_digest
注意在使用者层次结构中,用于等待,阶段,语句和事务的使用者都处于同一级别。这与事件嵌套层次结构不同,事件嵌套层次结构的等待事件嵌套在阶段事件内,等待事件嵌套在语句事件内,事务嵌套在事务事件内。
如果给定的使用者设置为NO
,则性能架构将禁用与使用者相关联的工具,并忽略所有较低级别的设置。如果给定设置为YES
,则性能架构将启用与其关联的工具,并在下一个最低级别检查设置。有关每个使用者的规则的说明,请参见“使用者的预过滤”。
例如,如果global_instrumentation
启用,thread_instrumentation
则选中。如果thread_instrumentation
启用,将检查使用者。如果这些被启用,并进行检查。events_xxx_current
events_waits_current
events_waits_history
events_waits_history_long
以下每个配置描述都指示性能模式检查哪些设置元素以及它维护哪些输出表(即,它为哪些表收集信息)。
- 没有仪器
- 仅限全球仪器
- 仅全局和线程检测
- 全局,线程和当前事件检测
- 全局,线程,当前事件和事件历史记录检测
没有仪器
服务器配置状态:
mysql>SELECT *FROM performance_schema.setup_consumers; +--------------------------- +--------- + | NAME | ENABLED | +--------------------------- +--------- + | global_instrumentation | NO | ... +--------------------------- +--------- +
在此配置中,不会检测任何东西。
检查设置元素:
- 桌子
setup_consumers
,消费者global_instrumentation
维护输出表:
- 没有
仅限全球仪器
服务器配置状态:
mysql>SELECT *FROM performance_schema.setup_consumers; +--------------------------- +--------- + | NAME | ENABLED | +--------------------------- +--------- + | global_instrumentation | YES | | thread_instrumentation | NO | ... +--------------------------- +--------- +
在此配置中,仅针对全局状态维护检测。每线程检测被禁用。
相对于先前的配置,检查了其他设置元素:
- 桌子
setup_consumers
,消费者thread_instrumentation
- 表
setup_instruments
- 表
setup_objects
相对于先前的配置,维护了其他输出表:
mutex_instances
rwlock_instances
cond_instances
file_instances
users
hosts
accounts
socket_summary_by_event_name
file_summary_by_instance
file_summary_by_event_name
objects_summary_global_by_type
memory_summary_global_by_event_name
table_lock_waits_summary_by_table
table_io_waits_summary_by_index_usage
table_io_waits_summary_by_table
events_waits_summary_by_instance
events_waits_summary_global_by_event_name
events_stages_summary_global_by_event_name
events_statements_summary_global_by_event_name
events_transactions_summary_global_by_event_name
仅全局和线程检测
服务器配置状态:
mysql>SELECT *FROM performance_schema.setup_consumers; +---------------------------------- +--------- + | NAME | ENABLED | +---------------------------------- +--------- + | global_instrumentation | YES | | thread_instrumentation | YES | | events_waits_current | NO | ... | events_stages_current | NO | ... | events_statements_current | NO | ... | events_transactions_current | NO | ... +---------------------------------- +--------- +
在这种配置下,将按全局和每个线程维护检测。当前事件或事件历史表中未收集任何单个事件。
相对于先前的配置,检查了其他设置元素:
- 表
setup_consumers
,消费者,其中为,,,events_xxx_current
xxx
waits
stages
statements
transactions
- 表
setup_actors
- 柱
threads.instrumented
相对于先前的配置,维护了其他输出表:
events_xxx_summary_by_yyy_by_event_name
,其中xxx
是waits
,stages
,statements
,transactions
;并且yyy
为thread
,user
,host
,account
全局,线程和当前事件检测
服务器配置状态:
mysql>SELECT *FROM performance_schema.setup_consumers; +---------------------------------- +--------- + | NAME | ENABLED | +---------------------------------- +--------- + | global_instrumentation | YES | | thread_instrumentation | YES | | events_waits_current | YES | | events_waits_history | NO | | events_waits_history_long | NO | | events_stages_current | YES | | events_stages_history | NO | | events_stages_history_long | NO | | events_statements_current | YES | | events_statements_history | NO | | events_statements_history_long | NO | | events_transactions_current | YES | | events_transactions_history | NO | | events_transactions_history_long | NO | ... +---------------------------------- +--------- +
在这种配置下,将按全局和每个线程维护检测。单个事件收集在当前事件表中,而不收集在事件历史表中。
相对于先前的配置,检查了其他设置元素:
- 消费者,其中为,,,
events_xxx_history
xxx
waits
stages
statements
transactions
- 消费者,其中为,,,
events_xxx_history_long
xxx
waits
stages
statements
transactions
相对于先前的配置,维护了其他输出表:
events_xxx_current
,其中xxx
是waits
,stages
,statements
,transactions
全局,线程,当前事件和事件历史记录检测
之前的配置不收集任何事件历史记录,因为和使用者已禁用。可以分别或一起启用这些使用者以收集每个线程,全局或两者的事件历史记录。events_xxx_history
events_xxx_history_long
此配置收集每个线程的事件历史记录,但不全局收集:
mysql>SELECT *FROM performance_schema.setup_consumers; +---------------------------------- +--------- + | NAME | ENABLED | +---------------------------------- +--------- + | global_instrumentation | YES | | thread_instrumentation | YES | | events_waits_current | YES | | events_waits_history | YES | | events_waits_history_long | NO | | events_stages_current | YES | | events_stages_history | YES | | events_stages_history_long | NO | | events_statements_current | YES | | events_statements_history | YES | | events_statements_history_long | NO | | events_transactions_current | YES | | events_transactions_history | YES | | events_transactions_history_long | NO | ... +---------------------------------- +--------- +
为此配置维护的事件历史表:
events_xxx_history
,其中xxx
是waits
,stages
,statements
,transactions
此配置全局收集事件历史记录,但不按线程收集事件历史记录:
mysql>SELECT *FROM performance_schema.setup_consumers; +---------------------------------- +--------- + | NAME | ENABLED | +---------------------------------- +--------- + | global_instrumentation | YES | | thread_instrumentation | YES | | events_waits_current | YES | | events_waits_history | NO | | events_waits_history_long | YES | | events_stages_current | YES | | events_stages_history | NO | | events_stages_history_long | YES | | events_statements_current | YES | | events_statements_history | NO | | events_statements_history_long | YES | | events_transactions_current | YES | | events_transactions_history | NO | | events_transactions_history_long | YES | ... +---------------------------------- +--------- +
为此配置维护的事件历史表:
events_xxx_history_long
,其中xxx
是waits
,stages
,statements
,transactions
此配置按线程并全局收集事件历史记录:
mysql>SELECT *FROM performance_schema.setup_consumers; +---------------------------------- +--------- + | NAME | ENABLED | +---------------------------------- +--------- + | global_instrumentation | YES | | thread_instrumentation | YES | | events_waits_current | YES | | events_waits_history | YES | | events_waits_history_long | YES | | events_stages_current | YES | | events_stages_history | YES | | events_stages_history_long | YES | | events_statements_current | YES | | events_statements_history | YES | | events_statements_history_long | YES | | events_transactions_current | YES | | events_transactions_history | YES | | events_transactions_history_long | YES | ... +---------------------------------- +--------- +
为此配置维护的事件历史表:
events_xxx_history
,其中xxx
是waits
,stages
,statements
,transactions
events_xxx_history_long
,其中xxx
是waits
,stages
,statements
,transactions