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

目录

  • 1. Performance Schema介绍
    • 1.1 插桩元件
    • 1.2 消费者表的分类
    • 1.3 资源消耗
    • 1.4 局限性
    • 1.5 sys Schema
    • 1.6 理解线程
  • 2 Performance Schema - 配置
    • 2.1 启用与禁用-Performance Schema
    • 2.2 启用与禁用-插桩
    • 2.3 启用与禁用-消费者表
    • 2.4 优化特定对象的监控
    • 2.5 优化线程的监控
    • 2.6 调整Performance Schema的内存大小
    • 2.7 默认值
  • 3 Performance Schema - 使用
    • 3.1 检查SQL语句
      • 常规SQL语句
      • 预处理语句
      • 存储过程
      • 语句剖析
    • 3.2 检查读写性能
    • 3.3 检查元数据锁
    • 3.4 检查内存使用情况
      • 直接使用performance schema
      • 使用sys schema
    • 3.5 检查变量
    • 3.6 检查最常见的错误
    • 3.7 检查Performance Schema自身
    • 小结

1. Performance Schema介绍

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

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

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


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

1.1 插桩元件

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

MySQL性能调优必知:Performance Schema引擎的配置与使用相关推荐

  1. 【Mysql】调优必知的sql访问方式

    mysql的访问方法概念 mysql在执行我们的sql语句的时候,会经过查询优化器将我们的sql语句进行优化,然后采用最小的查询成本来执行我们的sql. mysql可以采用的查询方式有以下几种 采用全 ...

  2. MySQL mysql性能调优

    MySQL性能调优,SQL优化.索引优化 慢查询日志 当查询超过一定的时间没有返回结果的时候,才会记录到慢查询日志中.默认不开启. 采样的时候手工开启.可以帮助我们找出执行慢的 SQL 语句 查看慢 ...

  3. MySQL性能调优与架构设计——第4章 MySQL安全管理

    第4章 MySQL安全管理 前言 对于任何一个企业来说,其数据库系统中所保存数据的安全性无疑是非常重要的,尤其是公司的有些商业数据,可能数据就是公司的根本,失去了数据的安全性,可能就是失去了公司的一切 ...

  4. 系统性能调优必知必会(脑图更新。。)

    系统性能调优必知必会 CPU缓存 CPU多级缓存,单核心会有自己的一级二级缓存,所有核心会共享三级缓存 一级缓存包括数据缓存 .指令缓存. 数据的读取是以缓存行进行读取的,缓存行一般为64字节. 缓存 ...

  5. MySQL性能调优与架构设计——第11章 常用存储引擎优化

    第11章 常用存储引擎优化 前言: MySQL 提供的非常丰富的存储引擎种类供大家选择,有多种选择固然是好事,但是需要我们理解掌握的知识也会增加很多.每一种存储引擎都有各自的特长,也都存在一定的短处. ...

  6. 转】MYSQL性能调优与架构设计之select count(*)的思考

    原博文出自于: http://blog.fens.me/category/%E6%95%B0%E6%8D%AE%E5%BA%93/page/5/ 感谢! Posted: Feb 7, 2013 Tag ...

  7. MySQL性能调优与架构设计——第5章 备份与恢复

    第5章 备份与恢复 前言 数据库的备份与恢复一直都是 DBA 工作中最为重要的部分之一,也是基本工作之一.任何正式环境的数据库都必须有完整的备份计划和恢复测试,本章内容将主要介绍 MySQL数据库的备 ...

  8. MySQL 性能调优之存储引擎

    原文:http://bbs.landingbj.com/t-0-246222-1.html        http://bbs.landingbj.com/t-0-245851-1.html MySQ ...

  9. 经典!《MySQL性能调优手册》高清电子版,限时 3 天免费下载

    点击上方"逆锋起笔",关注领取视频教程 ☞ 程序员进阶必备资源免费送「各种技术!」 ☜ 作为最流行的开源数据库软件之一,MySQL数据库软件已经是广为人知的了,性能调优是MySQL ...

最新文章

  1. 复习计算机网络基础 day3---什么是计算机网络:
  2. 请选择JAVA中有效的标识_Java中有效的标识符是什么?
  3. Chrome 插件开发-主动获取所有页签的tabid,background.js直接向所有页签同步传递消息
  4. Pytorch常用操作
  5. android 音频加载hal so调试
  6. Mybatis判断int类型是否为空
  7. C/C++:Windows编程—Inline Hook内联钩子(下)
  8. 3D 机器视觉 01 - 格雷码在3D视觉中的运用和码位选择原则
  9. 自动化数据增强:实践、理论和新方向
  10. 用Win2003做×××借线
  11. 箱线图2种画法-直接给出各个四分位值或者数据集
  12. 树莓派安装LibreELEC并配置红外遥控
  13. 如何使用腾讯云GPU云服务器完成 blender 的动画图片渲染
  14. R语言使用pROC包的的plot.roc函数对单变量进行ROC分析并可视化ROC曲线、寻找最佳阈值(threshold、cutoff)、在可视化曲线中添加最佳阈值点
  15. 【Android ROM定制】CyanogenMod源码下载和编译
  16. easyUI的高级查询
  17. Hadoop 安装snappy(编译源码)
  18. Shiro密码加密 盐值加密
  19. 主成分分析时,如果矩阵秩亏,会发生什么后果?
  20. 计算机视觉技术 - 图像阈值

热门文章

  1. 2 172.02 php,Web服务器部署02: Apache PHP Oracle
  2. abb机械手故障代码20082_ABB工业机器人常见的故障和如何处理这些故障的详细
  3. 网站服务器防火墙关闭吗,网站防火墙怎么关
  4. Vue 随笔1-加入vue router 后发现app被渲染了2次
  5. Python删除中文标点符号的方法
  6. 小米手机怎么开空调?3步让你的手机成为空调遥控器
  7. ModbusRTU之CRC校验
  8. 三极管基极电阻的确定方法
  9. 传奇架设超详细图文教程——GOM引擎
  10. Zynq UltraScale+ MPSoC EV系列VCU应用通路搭建