当前位置:首页 > 开发 > 编程语言 > 编程 > 正文

10.性能优化-监控-MySQL慢查询

发表于: 2015-02-10   作者:frank1234   来源:转载   浏览:
摘要: 1.记录慢查询配置 show variables where variable_name like 'slow%' ; --查看默认日志路径 查询结果:--不用的机器可能不同 slow_query_log_file=/var/lib/mysql/centos-slow.log 修改mysqld配置文件:/usr /my.cnf[一般在/etc/my.cnf,本机在/user/my.cn
1.记录慢查询配置
show variables where variable_name like 'slow%' ; --查看默认日志路径
查询结果:--不用的机器可能不同
slow_query_log_file=/var/lib/mysql/centos-slow.log

修改mysqld配置文件:/usr /my.cnf[一般在/etc/my.cnf,本机在/user/my.cnf],添加以下几项:
[mysqld]
slow_query_log=ON
long_query_time=0.2
long_query_time较低(5.0及之前)的mysql版本不支持小数


set global slow_query_log=ON; --如果通过这个脚本设置的话,重启mysql后就失效了

log-queries-not-using-indexes --表示记录没有使用索引的语句到慢查询日志

配置好上述参数后,重启mysqld服务,开始对性能差的查询SQL进行监测。
2.分析慢查询日志
运行一段时间后,慢查询日志会记录到上面路径的日志文件中,因为日志记录很多,不可能一条一条记录的去分析,可以通过mysql自带的msyqldumpslow进行分析。
1) # 找出平均执行时间最长的10条SQL
mysqldumpslow -t 10 -s at /var/lib/mysql/centos-slow.log > /var/lib/mysql/centos-slow-at.log
2) # 找出总执行时间最长的10条SQL
mysqldumpslow -t 10 -s t /var/lib/mysql/centos-slow.log > /var/lib/mysql/centos-slow-t.log
3) # 找出执行次数最多的10条SQL
mysqldumpslow -t 10 -s c /var/lib/mysql/centos-slow.log > /var/lib/mysql/centos-slow-c.log
4) # 找出返回记录数最多的10条SQL
mysqldumpslow -t 10 -s r /var/lib/mysql/centos-slow.log > /var/lib/mysql/centos-slow-r.log


3.记录所有SQL
[mysqld]
general_log=ON

show variables like '%log%';
查询结果:--记录所有sql的日志文件
general_log_file=/var/lib/mysql/centos.log

或者将long_query_time的值设置为0记录所有的SQL
4.p6spy
性能优化,通常需要将同一事务中所有执行的sql进行分析和优化,这就要获取这一事务执行过程中执行的所有sql语句。一般应用的架构均有控制是否显示所有操作sql的参数,如果没有的话,可以通过p6spy记录。

1)将p6spy.jar包拷贝到WEB-INF/lib目录下
2)将spy.properties拷贝到WEB-INF/classes目录下
3)将应用的驱动修改为com.p6spy.engine.spy.P6SpyDriver
4)将spy.properties中的realdriver设置为真实的驱动,com.mysql.jdbc.Driver
5)运行应用,可以看到tomcat的bin目录下有个spy.log文件,这个文件记录了所有操作的sql语句。仅需关注statement类型的即可,resultset和result类型的语句不需关心。
5.参考资料
http://blog.csdn.net/zm2714/article/details/8510893

10.性能优化-监控-MySQL慢查询

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
目录 一、优化概述 二、查询与索引优化分析 1性能瓶颈定位 Show命令 慢查询日志 explain分析查询 pr
目录 一、优化概述 二、查询与索引优化分析 1性能瓶颈定位 Show命令 慢查询日志 explain分析查询 pr
目录 一、优化概述 二、查询与索引优化分析 1性能瓶颈定位 Show命令 慢查询日志 explain分析查询 pr
一、 优化概述 MySQL数据库是常见的两个瓶颈是CPU和I/O的瓶颈,CPU在饱和的时候一般发生在数据装入
mysql性能优化-慢查询分析、优化索引和配置 阅读目录 二、查询与索引优化分析 三、 配置优化 转自:
目录 一、优化概述 二、查询与索引优化分析 1性能瓶颈定位 Show命令 慢查询日志 explain分析查询 pr
目录 一、优化概述 二、查询与索引优化分析 1性能瓶颈定位 Show命令 慢查询日志 explain分析查询 pr
目录 一、优化概述 二、查询与索引优化分析 1性能瓶颈定位 Show命令 慢查询日志 explain分析查询 pr
目录 一、优化概述 二、查询与索引优化分析 1性能瓶颈定位 Show命令 慢查询日志 explain分析查询 pr
目录 一、优化概述 二、查询与索引优化分析 1性能瓶颈定位 Show命令 慢查询日志 explain分析查询 pr
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号