第27章 MySQL 性能模式

官方文档地址:Chapter 27 MySQL Performance Schema


27.1 Performance Schema Quick Start
27.2 Performance Schema Build Configuration
27.3 Performance Schema Startup Configuration
27.4 Performance Schema Runtime Configuration
27.5 Performance Schema Queries
27.6 Performance Schema Instrument Naming Conventions
27.7 Performance Schema Status Monitoring
27.8 Performance Schema Atom and Molecule Events
27.9 Performance Schema Tables for Current and Historical Events
27.10 Performance Schema Statement Digests and Sampling
27.11 Performance Schema General Table Characteristics
27.12 Performance Schema Table Descriptions
27.13 Performance Schema Option and Variable Reference
27.14 Performance Schema Command Options
27.15 Performance Schema System Variables
27.16 Performance Schema Status Variables
27.17 The Performance Schema Memory-Allocation Model
27.18 Performance Schema and Plugins
27.19 Using the Performance Schema to Diagnose Problems
27.20 Restrictions on Performance Schema

MySQL 性能模式是一种用于在较低级别监视 MySQL Server 执行的功能。性能模式具有以下特征:

  • 性能模式提供了一种在运行时检查服务器内部执行的方法。它是使用PERFORMANCE_SCHEMA存储引擎和performance_schema数据库来实现的。性能模式主要关注性能数据。这与INFORMATION_SCHEMA用于检查元数据的有所不同。
  • 性能模式监视服务器事件。“事件”是服务器所做的任何需要时间并且已经被检测的事情,以便能够收集计时信息。通常,事件可以是函数调用、操作系统等待、SQL 语句执行的一个阶段(如解析或排序),或者是整个语句或语句组。通过事件收集,可以访问有关服务器和多个存储引擎的同步调用(例如互斥锁)文件和表 I/O,表锁等信息。
  • 性能模式事件不同于写入服务器二进制日志(描述数据修改)的事件和事件调度程序事件(一种存储程序)。
  • 性能模式事件特定于 MySQL 服务器的给定实例。Performance Schema表被认为是服务器本地的,对它们的更改不会被复制或写入二进制日志。
  • 当前事件以及事件历史和摘要都是可用的。这使您能够确定测试活动执行了多少次,以及它们花费了多少时间。事件信息可用于显示特定线程的活动,或与特定对象(例如互斥锁或文件)关联的活动。
  • PERFORMANCE_SCHEMA存储引擎使用服务器源代码中的“检测点”收集事件数据。
  • 收集的事件存储在performance_schema数据库中的表中 。这些表可以像其他表一样使用SELECT语句进行查询。
  • 通过 SQL 语句更新performance_schema数据库中的表,可以动态修改性能模式的配置。配置更改会立即影响数据收集。
  • 性能模式中的表是内存表,不使用磁盘上的持久化存储。在服务器启动时重新填充内容,在服务器关闭时丢弃内容。
  • 在 MySQL 支持的所有平台上都可以进行监视。
    可能会有一些限制:计时器的类型可能因平台而异。适用于存储引擎的仪器不一定适用于所有的存储引擎。对每个第三方引擎进行检测是引擎维护人员的责任。参见 27.20 对性能模式的限制
  • 数据收集是通过修改服务器源代码来添加检测来实现的。与复制或事件调度程序等其他特性不同,没有单独的线程与性能模式相关联。

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

  • 激活性能模式不会导致服务器行为发生任何变化。例如,它不会导致线程调度改变,也不会导致查询执行计划(如EXPLAIN所示)改变。
  • 服务器监视是持续地、不引人注目地进行,而且开销很小。激活性能模式并不会使服务器不可用。
  • 解析器没有改变。没有新的关键字或语句。
  • 即使性能模式在内部失败,服务器代码的执行仍可以正常进行。
  • 当需要在初始的事件收集期间或之后的事件检索期间执行处理时,优先考虑加快收集速度。这是因为收集是正在进行的,而检索是按需进行的,并且可能根本不会发生。
  • 大多数性能模式表都有索引,这使优化器可以访问执行计划,而不是全表扫描。有关更多信息,请参见 8.2.4 优化性能模式查询
  • 添加新的检测点很容易。
  • 检测版本化。如果检测实现发生变化,则先前检测的代码将继续起作用。这有利于第三方插件的开发人员,因为没有必要升级每个插件以保持与最新性能模式更改同步。

注意

MySQL sys模式是一组对象,可方便地访问由性能模式收集的数据。该sys模式是默认安装的。有关用法说明,请参见 第28章 MySQL sys 模式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值