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 SqlYog是一款强大的MySQL数据库管理工具,它以其直观的图形用户界面(GUI)和高效的功能集而受到广大数据库管理员和开发者的喜爱。这款工具提供了一种简单的方式,使用户能够更有效地...
mysqlreport是由hackmysql.com 的站长所撰写的 Perl Scritps,旨在协助 MySQL DBA 搜集与分析 MySQL 的运作状况。用着感觉不错。 官方网站: http://hackmysql.com/ 软件下载: http://hackmysql.com/mysqlreport
MySQL性能测试工具是数据库管理员和开发人员用于评估MySQL数据库系统性能的重要工具。这些工具通过模拟大量并发用户执行各种SQL操作,如插入(增)、删除、更新(改)和查询(查),来测量数据库的响应时间、吞吐量...
#### 二、性能分析工具介绍 1. **mytop**:类似top命令,用于实时显示MySQL的活动状态,如当前正在执行的查询、连接数等,是监控MySQL实例的常用工具。 2. **innotop**:扩展了mytop的功能,提供更多关于InnoDB...
本文将详细介绍几种常用的MySQL性能分析工具及其使用方法,帮助读者更好地理解和掌握MySQL的性能优化技巧。 #### MySQL性能分析概述 MySQL提供了多种工具来帮助用户分析和优化其性能,主要包括慢查询日志、`...
本文将深入探讨MySQL性能分析的关键技术、优化策略以及如何进行调整。 一、性能分析 1. **慢查询日志**:MySQL提供慢查询日志功能,记录执行时间超过设定阈值的SQL语句,这是识别性能瓶颈的起点。 2. **EXPLAIN...
MySQL性能分析工具profile是用于分析SQL执行效率的重要工具,它可以帮助数据库管理员理解SQL语句的执行过程,识别潜在的性能瓶颈,并对SQL进行优化。在MySQL中,profile提供了关于SQL执行时间分布的详细信息,包括...
MySQL提供了内置的性能分析工具,如`EXPLAIN`和`SHOW VARIABLES`,它们可以帮助我们了解查询执行计划和系统配置。 `EXPLAIN`命令是分析SQL查询性能的基础工具,它可以展示MySQL如何执行一个SELECT语句,包括表的...
MySQL性能监控工具是数据库管理员用来优化和管理MySQL服务器的关键组件,它们可以帮助监控数据库的运行状况,识别性能瓶颈,以及提供优化建议。MONyog是其中的一款著名工具,它提供了直观的用户界面,使得数据库监控...
9. 性能监控:高级工具会提供性能分析和监控功能,帮助用户识别并优化数据库的性能瓶颈。 10. 远程连接和多会话:用户可以同时连接多个MySQL服务器,进行多会话操作,这对于管理分布式数据库系统非常有用。 在选择...
MySQL性能优化诊断脚本是一种非常实用的工具,用于检测和分析MySQL数据库的性能问题。`tuning-primer.sh`就是这样一个脚本,它通过运行一系列的查询和检查,为数据库管理员提供有关系统性能的深入见解,并提出可能的...
描述:本文对五款常用的MySQL慢查询日志分析工具进行深入解析,旨在帮助DBA、开发者和运维人员更有效地定位和优化数据库性能瓶颈。 ### MySQL Slow Log概念 MySQL慢查询日志(Slow Query Log)是一种用于记录执行...
对于任何SQL执行计划的变更,都需要仔细的评估和测试,以确保它不会对数据库和应用程序的性能和稳定性产生负面影响。那么我们通过Statement Outline,Statement Outline是通过支持MySQL8.0官方的所有Hint,结合...
在深入了解MySQL性能分析和优化之前,我们需要先了解性能的定义以及如何测量性能。性能通常可以从响应时间和吞吐量两个方面来衡量。响应时间指的是完成单个事务所需要的时间,它包括了真正的CPU处理时间以及等待时间...
MySQL性能优化是一个涵盖广泛的主题,涉及多个层面,包括SQL语句优化、索引优化、数据库表结构优化、系统级配置优化以及服务器硬件优化。以下是对这些方面进行详细说明: 1. **SQL语句优化** - **慢查询日志**:...
MySQL性能提升是一个关键议题...整体而言,MySQL性能提升的知识点涵盖了从性能问题的识别和分析、并发控制机制的理解、SQL写法的优化到测试方法的运用等多个方面,强调了系统性能提升的多维度考虑和综合性的解决方案。
1. MySQL性能监控:如pt-query-digest、Percona Monitoring and Management (PMM) 可以分析慢查询日志,找出性能瓶颈。 2. 系统资源监控:使用工具如top、iostat、vmstat、sysstat等监控CPU、内存、磁盘I/O和网络...