MySQL性能模式

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

  • 性能模式提供了一种在运行时检查服务器内部执行的方法。它是使用 PERFORMANCE_SCHEMA存储引擎和performance_schema数据库来实现的。性能模式主要关注性能数据。这与INFORMATION_SCHEMA用于检查元数据的有所不同。

  • 性能架构监视服务器事件。一个 “ 事件 ”是什么,该服务器确实需要时间和被装备,使时序信息可以收集。通常,事件可以是函数调用,等待操作系统,SQL语句执行的阶段(例如解析或排序)或整个语句或语句组。通过事件收集,可以访问有关服务器和多个存储引擎的同步调用(例如互斥锁)文件和表I / O,表锁等信息。

  • 性能架构事件与写入服务器二进制日志(描述数据修改)和事件调度程序事件(存储程序的一种)的事件不同。

  • 性能架构事件特定于MySQL服务器的给定实例。性能架构表被认为是服务器本地的,对它们的更改不会被复制或写入二进制日志。

  • 当前事件以及事件历史记录和摘要都可用。这使您能够确定执行检测活动多少次以及花费多少时间。事件信息可用于显示特定线程的活动,或与特定对象(例如互斥锁或文件)关联的活动。

  • PERFORMANCE_SCHEMA存储引擎使用收集事件数据“ 检测点 ”在服务器的源代码。

  • 收集的事件存储在performance_schema数据库的表中 。可以SELECT 像其他表一样使用语句查询这些表。

  • performance_schema 通过使用SQL语句 更新数据库中的表,可以动态修改Performance Schema配置。配置更改会立即影响数据收集。

  • 性能架构中的表是不使用永久磁盘存储的内存中表。从服务器启动时开始重新填充内容,并在服务器关闭时将其丢弃。

  • 在MySQL支持的所有平台上都可以进行监视。

    可能存在一些限制:计时器的类型可能因平台而异。适用于存储引擎的工具可能未对所有存储引擎都实现。每个第三方引擎的仪器维护是引擎维护者的责任。另请参见 第22.19节“对性能模式的限制”

  • 通过修改服务器源代码以添加工具来实现数据收集。与其他功能(例如复制或事件计划程序)不同,没有与性能架构关联的单独线程。

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

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

  • 除了服务器启动期间发生的内存分配以外,没有其他内存分配。通过使用固定大小的结构的早期分配,无需调整大小或重新分配它们,这对于实现良好的运行时性能至关重要。

  • 服务器监视是连续不断地进行的,开销很小。激活性能架构不会使服务器不可用。

  • 解析器保持不变。没有新的关键字或语句。

  • 即使性能模式在内部失败,服务器代码的执行也会正常进行。

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

  • 添加新的检测点很容易。

  • 仪表版本化。如果检测实施更改,则先前检测的代码将继续起作用。这使第三方插件的开发人员受益,因为不必升级每个插件即可与最新的性能架构更改保持同步。

注意

MySQL sys模式是一组对象,可方便地访问由Performance模式收集的数据。在MySQL 5.7中,sys默认情况下已安装架构。对于MySQL 5.6,您可以从模式开发网站 https://github.com/mysql/mysql-sys获得。有关用法说明,请参见MySQL sys Schema

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值