第 25 章 MySQL Performance Schema

目录

MySQL Performance Schema 是一个 feature,用于监视低__vel 级别的 MySQL 服务器执行。 Performance Schema 具有以下特征:

  • Performance Schema 提供了一种在运行时检查服务器内部执行的方法。它是使用PERFORMANCESCHEMA存储引擎和performance_schema数据库实现的。 Performance Schema 主要关注 performance 数据。这与INFORMATION_SCHEMA不同,后者用于检查元数据。

  • Performance Schema 监视服务器 events。 “event”是服务器执行的任何需要 time 并且已经过检测的内容,以便可以收集定时信息。通常,event 可以是 function 调用,等待操作系统,SQL 语句执行的阶段(如解析或排序),或整个语句或 statements 的 group。 Event 集合提供对服务器和多个存储引擎的同步 calls(例如互斥锁)文件和 table I/O,table 锁等信息的访问。

  • Performance Schema events 与写入服务器的二进制 log(描述数据修改)和 Event Scheduler events(它们是一种存储程序)的 events 不同。

  • Performance Schema events 特定于 MySQL 服务器的给定实例。 Performance Schema 表被认为是服务器的本地表,对它们的更改不会被复制或写入二进制 log。

  • 可以使用当前的 events,以及 event 历史记录和摘要。这使您可以确定已执行的已检测活动的次数以及它们执行的时间。 Event 信息可用于显示特定线程的活动,或与特定 objects 相关的活动,例如 mutex 或文件。

  • PERFORMANCESCHEMA存储引擎使用 server source code 中的“检测点”收集 event 数据。

  • 收集的 events 存储在performance_schema数据库的表中。可以使用选择 statements 像其他表一样查询这些表。

  • Performance Schema configuration 可以通过 SQL statements 更新performance_schema数据库中的表来动态修改。 Configuration 更改会立即影响数据收集。

  • Performance Schema 中的表是 in-memory 表,不使用持久 on-disk 存储。从服务器启动开始重新填充内容,并在服务器关闭时丢弃。

  • 监控可在 MySQL 支持的所有平台上使用。

可能存在一些限制:计时器的类型可能因平台而异。适用于存储引擎的仪器可能未针对所有存储引擎实施。每个 third-party 发动机的仪表是发动机维护人员的责任。另见第 25.21 节,“Performance Schema 的限制”

  • 通过修改服务器 source code 来添加检测来实现数据收集。没有与 Performance Schema 相关联的单独线程,这与其他 features(如复制或 Event Scheduler)不同。

Performance Schema 旨在提供对服务器执行的有用信息的访问,同时对服务器性能的影响最小。 implementation 遵循以下设计目标:

  • 激活 Performance Schema 不会导致服务器行为发生任何变化。例如,它不会导致线程调度发生变化,也不会导致查询执行计划(如说明所示)发生变化。

  • 服务器监控连续且不显眼地发生,只需很少的开销。激活 Performance Schema 不会使服务器无法使用。

  • 解析器没有变化。没有新的关键字或 statements。

  • 即使 Performance Schema 在内部失败,服务器 code 的执行也会正常进行。

  • 如果在最初收集 event 期间或之后的 event 检索期间执行处理之间有选择,则优先考虑使收集更快。这是因为收集正在进行,而检索是按需进行的,可能永远不会发生。

  • 添加新的仪器点很容易。

  • 仪表是版本化的。如果检测 implementation 更改,以前检测的 code 将继续工作。这有利于 third-party 插件的开发人员,因为没有必要升级每个插件以与最新的 Performance Schema 更改保持同步。

注意


MySQL sys schema 是一组 objects,可以方便地访问 Performance Schema 收集的数据。默认情况下安装sys schema。有关使用说明,请参阅第 26 章,MySQL sys Schema

Updated at: 9 months ago
Extensions to SHOW StatementsTable of contentPerformance Schema 快速入门