MySQL之服务器性能剖析

关于mysql服务器性能,可能需要关注的点会比较多,如:如何确认服务器是否达到了性能最佳的状态,找出某条语句为什么执行不够快,以及诊断被用户描述成“停顿“,“堆积“或者“卡死“的某些间歇性疑难故障。这看起来很不简单。但是事实证明,有一个简单的方法能够从噪声中发现苗头。

这个方法就是专注于测量服务器的时间花费在哪里,使用的技术则是性能剖析。

mysql性能的问题,可能不同人会有不同的说法。例如:每秒查询数,cpu利用率,可扩展性  等等。

每个人在不同场景对性能有不同的理解。

但在这我们将给出一个正式的定义:

mysql性能指的是完成某件任务所需要的时间的度量,换句话说,性能即响应时间.

性能优化就是在一定得工作负载下尽可能的降低响应时间。

有人认为性能优化是降低cpu利用率,这是一个误解。资源是用来消耗并用来工作的,所以有时候消耗更多的资源能够加快查询速度。cpu利用率只是一种现象,而不是很好的可度量的目标。

同样,如果把性能优化仅仅看成提升每秒查询量,这其实只是吞吐量优化。吞吐量的提升可以看做性能优化的副产品。(吞吐量的定义是单位时间内的查询数量,这正好是我们对性能定义的倒数)

优化的第二原则:无法测量就无法有效的优化。所以,第一步应该测量时间花在什么地方。

不合适的测量:

  在错误的时间启动和停止测量

  测量的是聚合后的信息,而被捕是目标活动本身。

例如一个常见的错误是先查看慢查询,然后又去排查整个服务器的情况来判断问题的所在。

完成一项任务所需要的时间可以分为两部分:执行时间和等待时间。

剖析MySQL查询:

  1.剖析服务器负载

    捕获mysql的查询到日志文件中

    分析查询日志

  2.剖析单条查询

    使用 show profile

    使用 show status

    使用 慢查询日志

  3.使用性能剖析

总结的关键字有:  响应时间,吞吐量,测量,优化,慢查询日志。

时间: 2024-10-09 07:20:18

MySQL之服务器性能剖析的相关文章

【MySQL】《高性能MySQL》 学习笔记,第三章,服务器性能剖析

第三章:服务器性能剖析 ? 本章将针对如下三个问题进行解答: ? 如何确认服务器是否达到了性能最佳的状态 ? 找出某条语句为什么执行不够快 ? 诊断被用户描述成"停顿","堆积","卡死"的某些间歇性疑难故障 1.性能优化简介: ? 针对性能问题,1000个DBA,有1000个回答.诸如,"QPS","CPU Load","可扩展性"之类. 原则一:我们将性能定义为完成某件任务所需要的时

《高性能MySQL》- 03 服务器性能剖析

最近Python关于协程和元编程我实在看不下去了,就来补一下MySQL的坑,第二章关于基准测试的部分先放着,放到最后再说. 先说重点吧,3-6掌主要是讲优化的.我看了一遍只能说懵懂懵懂,就借着写blog的机会再次学习一下. 我们常遇到的三个性能相关的服务请求是:如何确认服务器是否达到了性能最佳状态,找出某条语句为什么执行不够快,以及诊断被用户描述成“停顿”,“堆积”或者“卡死”的某些间歇性疑难故障. 性能优化简介 关于性能的描述,基于不同的环境每个人的理解可能都不同.这里我们将性能规定一下,将其

服务器性能剖析(profiling)之——简介

性能剖析(profiling)是专注于测量服务器时间花费在哪里的一种技术,这里"性能即响应时间". 测量是一项很有挑战性的工作,并且分析结果也同样有挑战性,测出时间花在哪里,和知道为什么花在那里是两码事-- 性能剖析一般有两个步骤: 测量任务所花费的时间: 对结果进行统计和排序,将重要的任务排到前面. 关于性能剖析报告: 任务名.任务的执行时间.任务的消耗时间.任务的平均执行时间.该任务执行时间占全部时间的百分比. 性能剖析报告会按照任务的消耗时间进行降序排序. 有两种比较常见的情况会

《高性能MySQL》第三章MySQL服务器性能剖析学习笔记

MySQL性能优化介绍 什么是性能优化呢?其实我们往往从广义的定义是觉得一个MySQL系统的非功能性的优化都会看作是性能优化,比如我们会将数据库服务器的稳定性.每秒执行的SQL查询数目.系统的可扩展性.cpu利用率等等特性的优化都会看成是MySQL的性能优化. 我个人比较赞同本书的观点是MySQL性能优化应该就是指MySQL的查询响应时间的优化,MySQL性能优化就是将查询响应时间优化到一个客户或者用户体验能够接受的一个程度.

第03章 服务器细性能剖析

如何确认服务器达到了最佳性能状态,找出某条语句为什么执行不够快,找到服务器卡顿的问题 1 性能优化 性能测试并不会降低cpu利用率.而应该是测试应用大多数的时间花费在哪里,对这部分进行优化. 优化任务的执行时间,应该测试定位不同的子任务花费的时间,然后通过: 优化花费时间多的子任务 降低子任务的执行频率 2 性能剖析 1.1 通过性能剖析优化 性能剖析是测量和分析任务的时间花费在哪里的主要办法,通常步骤为: 测试任务所花费的时间 对结果进行统计和排序,将重要的任务排到前面 在任务开始时启动计时器

zabbix-3.2.4监控mysql服务器性能

环境:centos7已安装 zabbix-agent-3.2.4-2.el7.x86_64 zabbix-server-mysql-3.2.4-2.el7.x86_64 zabbix-web-3.2.4-2.el7.noarch zabbix-web-mysql-3.2.4-2.el7.noarch zabbix-release-3.2-1.el7.noarch zabbix-get-3.2.4-2.el7.x86_64 查看zabbix_agentd.conf配置文件: PidFile=/va

第003篇 服务器性能分析

谈到服务器性能,可能第一个从脑中蹦出来的是:查询速度?这确实是我们最常接触的方面,但性能其实还包括例如CPU利用率.可扩展性等很多方面.通过总结发现,不管修改的是哪一方面,最终都在影响一个量:时间.因此不妨将性能定义为:完成任务所需时间的度量(性能即响应时间).那什么是优化呢?如果认为优化是降低CPU使用率 那么此时可能你的任务需要更长的时间来完成.如果认为是提升了每次查询(select,update,delete,insert等)的量,这其实只是吞吐量的优化,此时你的CPU的压力可能已经增大了

MySQL监控、性能分析——工具篇

MySQL越来越被更多企业接受,随着企业发展,MySQL存储数据日益膨胀,MySQL的性能分析.监控预警.容量扩展议题越来越多.“工欲善其 事,必先利其器”,那么我们如何在进行MySQL性能分析.监控预警.容量扩展问题上得到更好的解决方案,就要利用各种工具来对MySQL各种指标进行分 析.本文是读书笔记,下面提及的工具,读者可能都用过,或打算准备是使用.MySQL服务器的发布包没有包含那些能完成许多常见任务的工具,例如监控服务器的工具.比较服务器间数据的工具.我们把这些工具分成以下几类:界面.监

mysql配置以及性能优化(转)

MySQL配置文件my.cnf中文详解,附mysql性能优化方法分享 ================================================================================================= Mysql参数优化对于新手来讲,是比较难懂的东西,其实这个参数优化,是个很复杂的东西,对于不同的网站,及其在线量,访问量,帖子数量,网络情况,以及机器硬件配置都有关系,优化不可能一次性完成,需要不断的观察以及调试,才有可能得到最佳效果