• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 等待事件摘要表

    性能架构维护用于收集当前和最近等待事件的表,并将该信息汇总到摘要表中。“性能架构等待事件表”描述了等待摘要所基于的事件。请参阅该讨论以获取有关等待事件的内容,当前和最近的等待事件表以及如何控制等待事件收集(默认情况下已禁用)的信息。

    示例等待事件摘要信息:

    mysql> SELECT *
           FROM performance_schema.events_waits_summary_global_by_event_name\G
    ...
    *************************** 6. row***************************
        EVENT_NAME: wait/synch/mutex/sql/BINARY_LOG::LOCK_index
        COUNT_STAR: 8
    SUM_TIMER_WAIT: 2119302
    MIN_TIMER_WAIT: 196092
    AVG_TIMER_WAIT: 264912
    MAX_TIMER_WAIT: 569421
    ...
    *************************** 9. row***************************
        EVENT_NAME: wait/synch/mutex/sql/hash_filo::lock
        COUNT_STAR: 69
    SUM_TIMER_WAIT: 16848828
    MIN_TIMER_WAIT: 0
    AVG_TIMER_WAIT: 244185
    MAX_TIMER_WAIT: 735345
    ...
    

    每个等待事件摘要表都有一个或多个分组列,以指示该表如何聚合事件。事件名称是指setup_instruments表中事件工具的名称:

    • events_waits_summary_by_account_by_event_nameEVENT_NAMEUSERHOST列。每行总结了给定帐户(用户和主机组合)的事件和事件名称。
    • events_waits_summary_by_host_by_event_nameEVENT_NAMEHOST列。每行总结了给定主机和事件名称的事件。
    • events_waits_summary_by_instanceEVENT_NAMEOBJECT_INSTANCE_BEGIN列。每行总结了给定事件名称和对象的事件。如果使用一种工具创建多个实例,则每个实例都具有唯一OBJECT_INSTANCE_BEGIN值,并且在此表中分别进行了汇总。
    • events_waits_summary_by_thread_by_event_nameTHREAD_IDEVENT_NAME列。每行总结了给定线程和事件名称的事件。
    • events_waits_summary_by_user_by_event_nameEVENT_NAMEUSER列。每行总结了给定用户和事件名称的事件。
    • events_waits_summary_global_by_event_nameEVENT_NAME专栏。每行总结了给定事件名称的事件。仪器可用于创建所检测对象的多个实例。例如,如果存在为每个连接创建互斥量的工具,则实例数与连接数一样多。仪器的摘要行汇总了所有这些实例。

    每个等待事件摘要表都有包含汇总值的以下摘要列:

    • COUNT_STAR

      摘要事件的数量。此值包括所有事件,无论是定时事件还是非定时事件。

    • SUM_TIMER_WAIT

      摘要定时事件的总等待时间。仅针对定时事件计算此值,因为非定时事件的等待时间为NULL。其他xxx_TIMER_WAIT值也是如此。

    • MIN_TIMER_WAIT

      摘要定时事件的最短等待时间。

    • AVG_TIMER_WAIT

      摘要定时事件的平均等待时间。

    • MAX_TIMER_WAIT

      汇总定时事件的最大等待时间。

    等待事件摘要表具有以下索引:

    • events_waits_summary_by_account_by_event_name

      • 在主键(USERHOSTEVENT_NAME
    • events_waits_summary_by_host_by_event_name

      • HOSTEVENT_NAME)上的主键
    • events_waits_summary_by_instance

      • OBJECT_INSTANCE_BEGIN)上的主键
      • 在(EVENT_NAME)上的索引
    • events_waits_summary_by_thread_by_event_name

      • THREAD_IDEVENT_NAME)上的主键
    • events_waits_summary_by_user_by_event_name

      • USEREVENT_NAME)上的主键
    • events_waits_summary_global_by_event_name

      • EVENT_NAME)上的主键

    TRUNCATE TABLE允许用于等待摘要表。它具有以下效果:

    • 对于未按帐户,主机或用户聚合的摘要表,截断会将摘要列重置为零,而不是删除行。
    • 对于按帐户,主机或用户聚合的摘要表,截断将删除无连接的帐户,主机或用户的行,并将其余行的摘要列重置为零。

    此外,由帐户,主机,用户或线程聚合的每个等待摘要表都将通过其所依赖的连接表的截断或的截断而被隐式截断events_waits_summary_global_by_event_name。有关详细信息,请参见“性能架构连接表”。


    下篇:阶段摘要表