当前位置:   article > 正文

MySQL性能调优必知:Performance Schema引擎的配置与使用_performanceschema引擎

performanceschema引擎

当你在MySQL高并发情况下的进行性能调优时,需要知道调整后的影响。例如查询是否变快了?锁是否会减慢运行速度?内存使用情况如何?磁盘IO等待时间变了吗?
.
Performance Schema就有一个存储回答上述问题所需数据的数据库。本篇文章将帮你了解Performance Schema的工作原理、局限性,以及如何更好地使用它和sys Schema来搞清楚MySQL内部的运行细节。


1. Performance Schema介绍

介绍Performance Schema的工作机制前,先解释两个概念:

  • 程序插桩(instrument): 指在MySQL代码中插入探测代码,以获取我们想了解的信息(也就是生产数据的代码,即所需数据的提供者、生产者)。就像一般的的链路监控框架,如Google的Dapper就是通过在代码中插入探测代码的方式获取信息。(一般Java链路监控框架是通过代理的方式修改字节码文件, 在代码中间插入获取信息的代码。)
  • 消费者表(consumer): 指的是存储关于程序插桩代码信息的表。如果我们为查询模块添加插桩,相应的消费者表将记录如执行总数、未使用索引次数、耗时等信息。如图MySQL存在名为performance_schema的内置数据库,里面有各种数据表存储了有关MySQL内部运行的操作上的底层指标
    在这里插入图片描述

Performance Schema的一般功能如下图所示

在这里插入图片描述
当应用程序用户连接到MySQL并执行被测量的插桩指令时,performance_schema将每个检查的调用封装到两个宏中,然后将结果记录在相应的消费者表中。这里的要点是,启用插桩会调用额外的代码,这意味着插桩会消耗CPU资源

1.1 插桩元件

在这里插桩元件可以理解为收集信息的组件(也就是 数据生产者 ),是插入的“桩”与“桩的底座”的组合元件,每一个组件都代表着一些代码(收集信息

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/968633
推荐阅读
相关标签