`

mysql性能剖析工具

阅读更多
MYSQL慢查询配置
首先我们先查看MYSQL服务器的慢查询状态是否开启.执行如下命令:
show variables like '%quer%';
我们可以看到当前log_slow_queries状态为OFF, 说明当前并没有开启慢查询.
set global slow_query_log=1;
开启慢查询非常简单, 操作如下:
在[mysqld]中添加如下信息:
[mysqld]
log-slow-queries=/var/log/mysql-slow.log

long_query_time = 4

log-queries-not-using-indexes

long_query_time 说明查询时间超过几秒记录到日志。
log-queries-not-using-indexes 记录没有使用索引的查询记录到日志


show profiles;
mysql> show profiles;

Empty set (0.00 sec)

显示为空,说明profiles功能是关闭的。下面开启

mysql> set profiling=1;

Query OK, 0 rows affected (0.00 sec)


Show profiles;

mysql> show profiles;
+----------+------------+---------------------+
| Query_ID | Duration   | Query               |
+----------+------------+---------------------+
|        1 | 0.00015225 | SELECT DATABASE()   |
|        2 | 0.00045175 | show databases      |
|        3 | 0.00025575 | show tables         |
|        4 | 0.00029275 | select * from test1 |
+----------+------------+---------------------+
4 rows in set, 1 warning (0.00 sec)

mysql> show profile for query 4;
+----------------------+----------+
| Status               | Duration |
+----------------------+----------+
| starting             | 0.000057 |
| checking permissions | 0.000010 |
| Opening tables       | 0.000023 |
| init                 | 0.000023 |
| System lock          | 0.000015 |
| optimizing           | 0.000009 |
| statistics           | 0.000017 |
| preparing            | 0.000015 |
| executing            | 0.000006 |
| Sending data         | 0.000056 |
| end                  | 0.000008 |
| query end            | 0.000011 |
| closing tables       | 0.000013 |
| freeing items        | 0.000018 |
| cleaning up          | 0.000015 |
+----------------------+----------+
15 rows in set, 1 warning (0.00 sec)

查看占用cpu、 io等信息呢

mysql> show profile block io,cpu for query 2;

通过EXPLAIN查看查询的执行计划是通过估计得到的结果,通过计数器是实际的测量结果。EXPAIN无法知道临时表是否是磁盘表。



Show processlist;
这个方法通过不停捕获show processlist的输出,来观察是否有大量线程处于不正常状态或其他不正常的特征
Performace schema;
performance_schema提供以下功能:
1.提供进程等待的详细信息,包括锁、互斥变量、文件信息;
2.保存历史的事件汇总信息,为提供MySQL服务器性能做出详细的判断;
3.对于新增和删除监控事件点都非常容易,并可以随意改变mysql服务器的监控周期,例如(CYCLE、MICROSECOND)

首先show engines,确认performance shcema处于开启状态。

mysql> use performance_schema;
mysql> show tables;

show status 和 show global status
这两个指令可以查看MySQL服务器的状态信息
show status是当前会话的,退出就失效了。
show global status是全局的,重启数据库或者关闭数据库就失效了。

pt-query-digest
pt-query-digest是用于分析mysql慢查询的一个工具,它可以分析binlog、General log、slowlog
可以运行以下安装使用
wget percona.com/get/pt-query-digest
chmod u+x pt-query-digest


分享到:
评论

相关推荐

    mysql性能分析工具sqlyog

    MySQL性能分析工具——SqlYog SqlYog是一款强大的MySQL数据库管理工具,它以其直观的图形用户界面(GUI)和高效的功能集而受到广大数据库管理员和开发者的喜爱。这款工具提供了一种简单的方式,使用户能够更有效地...

    mysql性能分析工具mysqlreport)

    mysqlreport是由hackmysql.com 的站长所撰写的 Perl Scritps,旨在协助 MySQL DBA 搜集与分析 MySQL 的运作状况。用着感觉不错。 官方网站: http://hackmysql.com/ 软件下载: http://hackmysql.com/mysqlreport

    MySQL性能测试工具

    MySQL性能测试工具是数据库管理员和开发人员用于评估MySQL数据库系统性能的重要工具。这些工具通过模拟大量并发用户执行各种SQL操作,如插入(增)、删除、更新(改)和查询(查),来测量数据库的响应时间、吞吐量...

    MYSQL性能调优工具介绍与应用

    #### 二、性能分析工具介绍 1. **mytop**:类似top命令,用于实时显示MySQL的活动状态,如当前正在执行的查询、连接数等,是监控MySQL实例的常用工具。 2. **innotop**:扩展了mytop的功能,提供更多关于InnoDB...

    mysql性能工具的使用.txt

    本文将详细介绍几种常用的MySQL性能分析工具及其使用方法,帮助读者更好地理解和掌握MySQL的性能优化技巧。 #### MySQL性能分析概述 MySQL提供了多种工具来帮助用户分析和优化其性能,主要包括慢查询日志、`...

    MySQL性能分析与优化调整

    本文将深入探讨MySQL性能分析的关键技术、优化策略以及如何进行调整。 一、性能分析 1. **慢查询日志**:MySQL提供慢查询日志功能,记录执行时间超过设定阈值的SQL语句,这是识别性能瓶颈的起点。 2. **EXPLAIN...

    MySQL性能分析工具profile使用教程

    MySQL性能分析工具profile是用于分析SQL执行效率的重要工具,它可以帮助数据库管理员理解SQL语句的执行过程,识别潜在的性能瓶颈,并对SQL进行优化。在MySQL中,profile提供了关于SQL执行时间分布的详细信息,包括...

    性能测试 mysql 耗时分析工具

    MySQL提供了内置的性能分析工具,如`EXPLAIN`和`SHOW VARIABLES`,它们可以帮助我们了解查询执行计划和系统配置。 `EXPLAIN`命令是分析SQL查询性能的基础工具,它可以展示MySQL如何执行一个SELECT语句,包括表的...

    Mysql性能监控工具

    MySQL性能监控工具是数据库管理员用来优化和管理MySQL服务器的关键组件,它们可以帮助监控数据库的运行状况,识别性能瓶颈,以及提供优化建议。MONyog是其中的一款著名工具,它提供了直观的用户界面,使得数据库监控...

    mysql可视化工具

    9. 性能监控:高级工具会提供性能分析和监控功能,帮助用户识别并优化数据库的性能瓶颈。 10. 远程连接和多会话:用户可以同时连接多个MySQL服务器,进行多会话操作,这对于管理分布式数据库系统非常有用。 在选择...

    MySQL性能优化诊断脚本

    MySQL性能优化诊断脚本是一种非常实用的工具,用于检测和分析MySQL数据库的性能问题。`tuning-primer.sh`就是这样一个脚本,它通过运行一系列的查询和检查,为数据库管理员提供有关系统性能的深入见解,并提出可能的...

    五款常用mysql slow log分析工具

    描述:本文对五款常用的MySQL慢查询日志分析工具进行深入解析,旨在帮助DBA、开发者和运维人员更有效地定位和优化数据库性能瓶颈。 ### MySQL Slow Log概念 MySQL慢查询日志(Slow Query Log)是一种用于记录执行...

    MySQL+DBA工具库+SQL性能分析工具

    对于任何SQL执行计划的变更,都需要仔细的评估和测试,以确保它不会对数据库和应用程序的性能和稳定性产生负面影响。那么我们通过Statement Outline,Statement Outline是通过支持MySQL8.0官方的所有Hint,结合...

    MySQL性能常见原因分析

    在深入了解MySQL性能分析和优化之前,我们需要先了解性能的定义以及如何测量性能。性能通常可以从响应时间和吞吐量两个方面来衡量。响应时间指的是完成单个事务所需要的时间,它包括了真正的CPU处理时间以及等待时间...

    MySQL性能提升

    MySQL性能提升是一个关键议题...整体而言,MySQL性能提升的知识点涵盖了从性能问题的识别和分析、并发控制机制的理解、SQL写法的优化到测试方法的运用等多个方面,强调了系统性能提升的多维度考虑和综合性的解决方案。

    mysql 性能优化与架构设计(word版)

    1. MySQL性能监控:如pt-query-digest、Percona Monitoring and Management (PMM) 可以分析慢查询日志,找出性能瓶颈。 2. 系统资源监控:使用工具如top、iostat、vmstat、sysstat等监控CPU、内存、磁盘I/O和网络...

    第09章_性能分析工具的使用.pdf

    在进行MySQL性能优化时,了解并使用性能分析工具至关重要。本章主要讲解了数据库服务器的优化步骤、查看系统性能参数、统计SQL查询成本以及定位执行慢的SQL的方法,这些都是优化数据库性能的关键环节。 首先,...

Global site tag (gtag.js) - Google Analytics