目录
- 27.1性能模式快速入门
- 27.2性能架构构建配置
- 27.3性能模式启动配置
- 27.4性能模式运行时配置
- 27.5性能模式查询
- 27.6性能模式仪器命名约定
- 27.7性能模式状态监控
- 27.8性能模式原子和分子事件
- 27.9当前事件和历史事件的性能模式表
- 27.10性能模式语句摘要和抽样
- 27.11性能模式通用表特征
- 27.12性能模式表说明
-
- 27.12.1性能模式表参考
- 27.12.2性能模式设置表
- 27.12.3性能模式实例表
- 27.12.4性能模式等待事件表
- 27.12.5性能模式阶段事件表
- 27.12.6性能模式语句事件表
- 27.12.7性能模式事务表
- 27.12.8性能模式连接表
- 27.12.9性能模式连接属性表
- 27.12.10性能模式自定义变量表
- 27.12.11性能模式复制表
- 27.12.12性能模式NDB集群表
- 27.12.13性能模式锁定表
- 27.12.14性能架构系统变量表
- 27.12.15性能模式状态变量表
- 27.12.16性能模式线程池表
- 27.12.17性能模式防火墙表
- 27.12.18性能模式密匙环表
- 27.12.19性能模式克隆表
- 27.12.20性能模式汇总表
- 27.12.21性能模式杂项表
- 27.13性能模式选项和变量参考
- 27.14性能模式命令选项
- 27.15性能架构系统变量
- 27.16性能模式状态变量
- 27.17性能模式内存分配模型
- 27.18性能架构和插件
- 27.19使用性能模式诊断问题
- 27.20性能模式约束
MySQL性能模式是一种在低级别上监视MySQL服务器执行的特性。性能模式具有以下特征:
性能模式提供了一种在运行时检查服务器内部执行的方法。方法实现它
PERFORMANCE_SCHEMA
存储引擎和performance_schema
数据库。性能模式主要关注性能数据。这不同于INFORMATION_SCHEMA
,用于检查元数据。性能架构监视服务器事件。一个”事件”服务器所做的任何事情都需要时间,并且已经进行了检测,以便可以收集计时信息。一般来说,事件可以是函数调用、对操作系统的等待、SQL语句执行的一个阶段(如解析或排序),或者是整个语句或一组语句。事件收集为服务器和多个存储引擎提供了对同步调用(例如互斥锁)文件和表I/O、表锁等信息的访问。
性能模式事件与写到服务器二进制日志(描述数据修改)和事件调度器事件(一种存储程序)的事件不同。
性能模式事件特定于MySQL服务器的一个给定实例。Performance Schema表被认为是服务器的本地表,对它们的更改不会复制或写入二进制日志。
当前事件,以及事件历史和摘要都是可用的。这使您能够确定工具化活动执行了多少次以及它们花费了多少时间。事件信息可用于显示特定线程的活动,或与特定对象(如互斥锁或文件)关联的活动。
的
PERFORMANCE_SCHEMA
存储引擎使用”仪器分”在服务器源代码中。中收集的事件存储在表中
performance_schema
数据库。可以使用选择
与其他表类似的语句。中的表可以动态修改性能架构配置
performance_schema
数据库的SQL语句。配置更改会立即影响数据收集。Performance Schema中的表是内存中的表,不使用持久的磁盘上存储。内容在服务器启动时重新填充,在服务器关闭时丢弃。
监视在MySQL支持的所有平台上都可用。
可能会应用一些限制:计时器的类型可能因平台而异。应用于存储引擎的工具可能不会实现于所有存储引擎。各第三方引擎的仪表检测由引擎维护人员负责。另请参阅第27.20节“性能模式的限制”.
数据收集是通过修改服务器源代码来添加检测来实现的。与复制或事件调度器等其他特性不同,没有与性能模式相关的单独线程。
性能模式旨在提供对有关服务器执行的有用信息的访问,同时对服务器性能的影响最小。实现遵循以下设计目标:
激活Performance Schema不会改变服务器行为。例如,它不会导致线程调度改变,也不会导致查询执行计划(如
解释
)来改变。服务器监视持续地、不引人注意地进行,开销非常小。激活性能架构不会使服务器不可用。
解析器不变。没有新的关键字或语句。
即使性能架构内部发生故障,服务器代码的执行也会正常进行。
当需要在最初的事件收集期间执行处理或在稍后的事件检索期间执行处理时,优先考虑提高收集速度。这是因为收集是持续进行的,而检索是按需进行的,可能根本不会发生。
大多数Performance Schema表都有索引,这使优化器可以访问执行计划,而不是全表扫描。有关更多信息,请参见第8.2.4节“优化性能模式查询”.
添加新的仪表点很容易。
检测是版本化的。如果插装实现发生更改,以前插装的代码将继续工作。这有利于第三方插件的开发人员,因为不必升级每个插件以与最新的性能架构更改保持同步。
MySQLsys
schema是一组对象,提供对Performance schema收集的数据的方便访问。的sys
默认情况下安装Schema。有关使用说明,请参见28章,MySQL系统架构.