MySQL 性能方案
翻译自 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解析不改变,没有新的关键字或语句。
甚至性能方案失败了,服务依旧进行。
当性能进程在事件收集初期或事件获取之后选择时,优先选择让收集进程执行更快的那个,因为收集不管进行而获取是按需进行甚至不会发生。
很容易添加新的工具点。
工具是版本化的,如果工具的实现改变了,先前的工具代码会继续工作。这让第三方插件的开发者受益,因为没必要为了与最新的性能方案保持同步而升级每一个插件。
MySQL 性能方案的更多相关文章
- mysql 性能优化方案
网 上有不少MySQL 性能优化方案,不过,mysql的优化同sql server相比,更为麻烦与复杂,同样的设置,在不同的环境下 ,由于内存,访问量,读写频率,数据差异等等情况,可能会出现不同的结果 ...
- mysql 性能优化方案1
网 上有不少mysql 性能优化方案,不过,mysql的优化同sql server相比,更为麻烦与复杂,同样的设置,在不同的环境下 ,由于内存,访问量,读写频率,数据差异等等情况,可能会出现不同的结果 ...
- mysql 性能优化方案 (转)
网 上有不少mysql 性能优化方案,不过,mysql的优化同sql server相比,更为麻烦与复杂,同样的设置,在不同的环境下 ,由于内存,访问量,读写频率,数据差异等等情况,可能会出现不同的结果 ...
- redmine在linux上的mysql性能优化方法与问题排查方案
iredmine的linux服务器mysql性能优化方法与问题排查方案 问题定位: 客户端工具: 1. 浏览器inspect-tool的network timing工具分析 2. 浏览 ...
- MySQL性能调优与架构设计——第 17 章 高可用设计之思路及方案
第 17 章 高可用设计之思路及方案 前言: 数据库系统是一个应用系统的核心部分,要想系统整体可用性得到保证,数据库系统就不能出现任何问题.对于一个企业级的系统来说,数据库系统的可用性尤为重要.数据库 ...
- [MySQL性能优化系列]LIMIT语句优化
1. 背景 假设有如下SQL语句: SELECT * FROM table1 LIMIT offset, rows 这是一条典型的LIMIT语句,常见的使用场景是,某些查询返回的内容特别多,而客户端处 ...
- MySQL 性能优化
内容简介:这是一篇关于mysql 性能,mysql性能优化,mysql 性能优化的文章.网上有不少mysql 性能优化方案,不过,mysql的优化同sql server相比,更为麻烦与负责,同样的设置 ...
- MySQL性能优化的21个最佳实践
http://www.searchdatabase.com.cn/showcontent_38045.htm MySQL性能优化的21个最佳实践 1. 为查询缓存优化你的查询 大多数的MySQL服务器 ...
- MySQL 性能监控 4 大指标
[编者按]本文作者为 John Matson,主要介绍 mysql 性能监控应该关注的 4 大指标. 文章系国内 ITOM 管理平台 OneAPM 编译呈现. MySQL 是什么? MySQL ...
随机推荐
- JavaScript+svg绘制的一个动态时钟
结果图: 代码如下: <!DOCTYPE html> <html> <head> <title>动态时钟</title> </head ...
- JavaScript图片翻转
<script type="text/javascript"> /** * 注册函数f,当文档加载问成时执行这个函数f * 如果文件已经载入完成,尽快以异步方式执行它 ...
- sed的粉丝
UNIX/LINUX下有个工具叫sed,起源于ed命令,但没有人机交互,完全是脚本语言.sed虽然是结构化的程序,但其虚拟出来的机器与我们实际机器相差甚远,依靠模式空间和保留空间的交替使用.正则表达式 ...
- 安装 Docker Machine - 每天5分钟玩转 Docker 容器技术(45)
前面我们的实验环境中只有一个 docker host,所有的容器都是运行在这一个 host 上的.但在真正的环境中会有多个 host,容器在这些 host 中启动.运行.停止和销毁,相关容器会通过网络 ...
- bzoj2038: [2009国家集训队]小Z的袜子(hose) [莫队]
Description 作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿.终于有一天,小Z再也无法忍受这恼人的找袜子过程,于是他决定听天由命……具体来说,小Z把这N只袜 ...
- MySQL日志文件之错误日志和慢查询日志详解
今天天气又开始变得很热了,虽然很热很浮躁,但是不能不学习,我在北京向各位问好.今天给大家分享一点关于数据库日志方面的东西,因为日志不仅讨厌而且还很重要,在开发中时常免不了与它的亲密接触,就在前几天公司 ...
- Ext.Component事件
组件类提供了许多生命周期事件.当组件创建时,这些激活,渲染,销毁等等事件被激活.所有这些事件都可以通过使用监听器属性或使用on方法来进行处理.大多数这些生命周期事件实际上都是在ext.abstract ...
- JMeterPluginsCMD Command Line Tool
There is small command-line utility for generating graphs out of JTL files. It behave just like righ ...
- EasyUi+Spring Data 实现按条件分页查询
Spring data 介绍 Spring data 出现目的 为了简化.统一 持久层 各种实现技术 API ,所以 spring data 提供一套标准 API 和 不同持久层整合技术实现 . 自己 ...
- JARVIS 手机监控局域网内PC
JARVIS 通过反向的Socket连接,实现通过手机(或任何可以发送Http请求的设备)对局域网内PC的监控.在外时可以远程监视家里PC任务的执行情况,甚至远程唤醒家里的PC提前打开游戏也可以实现( ...