10bet网址
MySQL 8.0参考手册
相关文件10bet官方网站 本手册下载 从本手册中摘录

27.4.2性能架构事件过滤

事件以生产者/消费者的方式处理:

  • 插装代码是事件的源,并生成要收集的事件。的setup_instruments表中列出了可以收集事件的仪器、是否启用以及是否收集定时信息:

    mysql> SELECT NAME, ENABLED, TIMED FROM performance_schema.setup_instruments;+---------------------------------------------------+---------+-------+ | 名字| |定时启用  | +---------------------------------------------------+---------+-------+ ...|等待/同步/互斥锁/ sql / LOCK_global_read_lock |是的| | |等待/同步/互斥锁/ sql / LOCK_global_system_variables |是的| | |等待/同步/互斥锁/ sql / LOCK_lock_db |是的| | |等待/同步/互斥/ sql / LOCK_manager |是的| |…

    setup_instrumentsTable提供了对事件生产的最基本的控制形式。要根据被监视的对象或线程的类型进一步细化事件生产,可以使用其他表,如中所述第27.4.3节,“事件预过滤”

  • 性能架构表是事件和消耗事件的目的地。的setup_consumers表列出了可以发送事件信息的消费者类型以及是否已启用:

    mysql> select * from performence_schema.setup_consumers;+ ------------------------------ + --------- + |名称|启用|+ ------------------------------ + --------- + |events_stages_current |不||events_stages_history |不| | 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_waits_current | NO | | events_waits_history | NO | | events_waits_history_long | NO | | global_instrumentation | YES | | thread_instrumentation | YES | | statements_digest | YES | +----------------------------------+---------+

过滤可以在性能监控的不同阶段进行:

  • 预滤器。这是通过修改性能架构配置来完成的,因此只从生产者收集某些类型的事件,并收集的活动仅更新某些消费者。为此,启用或禁用仪器或消费者。预过滤由性能模式完成,并具有适用于所有用户的全局效果。

    使用预过滤的原因:

    • 减少开销。即使启用所有仪器,性能架构开销也应该是最小的,但也许您希望进一步减少它。或者您不关心时序事件,并希望禁用定时代码以消除时序开销。

    • 避免使用您没有兴趣的事件填充当前事件或历史表。预过滤叶更多房间在这些表中,用于启用仪器类型的行的实例。如果您只能使用预筛选只启用文件仪器,则不会为非文件仪器收集行。通过后滤线,收集非文件事件,为文件事件留下较少的行。

    • 避免维护某种活动表。如果禁用消费者,则服务器不会花费时间维护该消费者的目标。例如,如果您不关心事件历史,则可以禁用历史表消费者以提高性能。

  • 后过滤。这涉及到使用在哪里查询中的子句从性能模式表中选择信息,以指定要查看的哪些可用事件。过滤后,按用户执行,因为单独的用户选择哪些可用事件是感兴趣的。

    使用后过滤的原因:

    • 避免为个别用户决定哪些事件信息是感兴趣的。

    • 在事先不知道使用预过滤所强加的限制时,使用性能模式调查性能问题。

以下部分提供了关于预过滤的更多细节,并提供了在过滤操作中命名工具或使用者的指导原则。有关编写查询以检索信息(过滤后)的信息,请参见第27.5节,“性能模式查询”