翻译自 dev.mysql.com/doc/refman/5.6/en/performance-schema.html

一、3个基本库

数据库初始化安装完毕会有三个基本库mysql 、information_schema、performace_schema。作为应用程序开发者,平时较少关注这些数据库尤其是后两者。但是通过对这些基本数据库的学习,必然会对数据库存储有更好的理解。

mysql

包含权限配置,事件,存储引擎状态,主从信息,日志,时区信息,用户权限配置等

information_schema

对数据库元数据的抽象分析,由此提供了SQL语句方式来查询数据库运行时状态,每次对information_schema的查询都产生对metadata的互斥访问,影响其他数据库的访问性能。

performance_schema

内存型数据库,使用performance_schema 存储引擎,通过事件机制将mysql服务的运行时状态采集并存储在performace_schema数据库。注意,两个单词之间用下划线连接时,表示performance_schema是一个数据库;用空格分开时,表示一个数据库性能方案,也表示一个存储引擎。

二、performance schema

2.1 特性

一个数据库性能方案,它提供了对运行时数据库服务进行内部检查的方式,这个方案通过performace schema存储引擎和performance_schema数据库进行了实现。这个方案关注mysql数据库服务的运行时的性能数据,而information_schema主要用于对元数据的检查。

性能方案监控了服务事件,事件是服务所花费时间来做并被感知到的任何事,因为被感知到,这些事件的时间信息可以被收集。总的来说,一个事件可以是函数调用、一个系统等待,一个数据查看语句的执行阶段(比如解析、分类),或者整个语句、整组语句,甚至是临界文件、表I/O、表级锁和数据库存储引擎的同步调用信息。

性能方案的事件不同于被写进服务日志中的事件(描述了数据修改)和调度事件(存储程序类型)

性能方案特定于一个数据库服务,性能方案数据库中的表关联到数据服务,表的修改不会被备份也不会写进二进制日志。

当前事件是可用的,和历史事件以及总结一样。这使得你可以判断有多少次被感知的活动以及它们的花费时间。时间信息可用来展示特定线程的活动,或着是互斥资源文件的访问活动。

性能方案存储引擎使用“感知点“”来收集事件数据

被收集的事件存储在performance_schema数据库,可以通过select语句进行查询。

性能方案配置可以被动态的执行SQL来修改,配置的改变会立即影响到数据收集。

性能数据库的表是内存型,没有持久化到磁盘存储,这些数据表在服务停止时被丢弃,服务启动时再次创建。

监控可用于所有被mysql支持的平台。

一些局限性可能存在:定时器的类型在不同平台上差异巨大,应用在多种存储引擎的工具可能不适用于所有的存储引擎。第三方引擎的工具服从于引擎维护者。

数据收集通过修改服务源码添加工具来实现。有几个不可分离的进程与性能方案有关,不同于其他备份或事件调度等特性。

2.2 性能方案计划用于获取服务执行的有用信息,在此期间对服务性能产生很小的影响,目的实现下面这些设计目标:

使用性能方案不对服务运行产生变化,例如,不会造成线程调度的改变,不造成查询执行计划(用explain展示)的改变。

在服务启动时,分配的内存不会超出,通过使用先前固定大小的分配结构,没有必须再去调整或重分配内存,对于实现很好的运行时性能至关重要。

服务监控持续发生并很少发生溢出,激活性能方案不会让服务不可用。

SQL解析不改变,没有新的关键字或语句。

甚至性能方案失败了,服务依旧进行。

当性能进程在事件收集初期或事件获取之后选择时,优先选择让收集进程执行更快的那个,因为收集不管进行而获取是按需进行甚至不会发生。

很容易添加新的工具点。

工具是版本化的,如果工具的实现改变了,先前的工具代码会继续工作。这让第三方插件的开发者受益,因为没必要为了与最新的性能方案保持同步而升级每一个插件。

转载于:https://www.cnblogs.com/zhengwenqiang/p/7190949.html

MySQL 性能方案相关推荐

  1. Mysql性能优化方案

    2019独角兽企业重金招聘Python工程师标准>>> 内容简介:这是一篇关于mysql 性能优化的文章.网上有不少mysql 性能优化方案,不过,mysql的优化同sql serv ...

  2. mysql 性能优化方案

    网 上有不少mysql 性能优化方案,不过,mysql的优化同sql server相比,更为麻烦与复杂,同样的设置,在不同的环境下 ,由于内存,访问量,读写频率,数据差异等等情况,可能会出现不同的结果 ...

  3. mysql性能调优 高可用_MySQL性能调优与架构设计——第 17 章 高可用设计之思路及方案...

    第 17 章 高可用设计之思路及方案 前言: 数据库系统是一个应用系统的核心部分,要想系统整体可用性得到保证,数据库系统就不能出现任何问题.对于一个企业级的系统来说,数据库系统的可用性尤为重要.数据库 ...

  4. grafana 监控mysql_Prometheus+Grafana监控MySQL性能

    今天来写一篇监控MySQL数据库的的监控方案:Prometheus+Grafana监控mysql性能 1.监控方案介绍 祖传老图修一修: 解释一波:①mysqld_exporter用来收集数据库的性能 ...

  5. 宝塔mysql优化_宝塔面板下实现MySQL性能优化处理

    在PHP+MYSQL架构网站运行过程中,往往会遇到各种性能问题影响,如MySQL.PHP.CPU.磁盘IO.缓存等,其中MySQL瓶颈就是最常见也最难解决的一种影响网站性能的因素:通常,我们会使用re ...

  6. MySQL 性能优化技巧

    原文地址:MySQL 性能优化技巧 博客地址:www.extlight.com 一.背景 最近公司项目添加新功能,上线后发现有些功能的列表查询时间很久.原因是新功能用到旧功能的接口,而这些旧接口的 S ...

  7. MySQL性能调优 读写分离

    Top NSD DBA2 DAY02 案例1:MySQL性能优化 案例2:实现MySQL读写分离 1 案例1:MySQL性能优化 1.1 问题 练习相关优化选项 启用慢查询日志 查看各种系统变量.状态 ...

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

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

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

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

  10. MySQL 性能监控 4 大指标

    [编者按]本文作者为 John Matson,主要介绍 mysql 性能监控应该关注的 4 大指标. 文章系国内 ITOM 管理平台 OneAPM 编译呈现.    MySQL 是什么? MySQL  ...

最新文章

  1. Python OS 文件操作模块常用函数
  2. java 正方形字符串_java编程:怎么画一个正方形?
  3. c语言编程单向链表排序,【分享】C语言 简单链表创建 排序 输出
  4. android 揭示动画_如何使用意图揭示函数名称使代码更好
  5. linux audit审计(6)--audit永久生效的规则配置
  6. 使用 IntraWeb (38) - TIWAppForm、TIWForm、TIWBaseHTMLForm、TIWBaseForm
  7. Ubuntu登陆不进去输入密码后黑屏又返回登陆界面
  8. Android实现VR查看图片
  9. 关于 *.csproj: 找不到此项目类型所基于的应用程序 的解决方案
  10. 优秀课件笔记之计算机网络基础
  11. adb、logcat
  12. 【题解】老虎的数字游戏
  13. 【Maven】org.codehaus.plexus.component.repository.exception.ComponentLookupException
  14. html四个图片成正方形排列,html单选按钮变成方形
  15. 第一、二、三代半导体的发展
  16. unity 解决乱码_unity3d 中文乱码解决方法——cs代码文件格式批量转化UTF8
  17. 扫描版PDF自动添加书签 | 电子书目录自动获取
  18. Waves效果器离线安装包-Waves v9r30 Offline Install WiN-MAC
  19. 【Kubernetes】k8s的devops功能说明和devops搭建配置详细说明
  20. 整理37个超牛逼的Python库,用过6个算你牛!

热门文章

  1. 软件工程第1次阅读作业
  2. border-radius的8个属性值_画半圆、叶子等
  3. 同一域内部署多台notes server
  4. 【jQuery获取下拉框select、单选框radio、input普通框的值和checkbox选中的个数】
  5. javascript 字符串中单引号和双引号区别
  6. C3P0数据库连接池
  7. linux下RRDTool安装方法
  8. 我理解的17种C#写的Hello World程序
  9. 旅游后台管理系列——使用maven tomcat插件启动web工程
  10. BZOJ2002[HNOI2010] 弹飞绵羊(LCT)