`
neeleon
  • 浏览: 185910 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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

阅读更多
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类型的语句不需关心。
分享到:
评论

相关推荐

    mysql性能优化-慢查询分析、优化索引和配置.doc

    ### MySQL性能优化详解 #### 一、优化概述 MySQL作为一种广泛使用的开源关系型数据库管理系统,在很多应用场景中都可能遇到性能瓶颈的问题。常见的性能瓶颈主要分为两大类:**CPU瓶颈**和**I/O瓶颈**。 - **CPU...

    mysql优化笔记+资料

    2. 使用Percona Toolkit和pt-query-digest分析慢查询日志。 3. 使用MySQL Tuner或mytop等工具自动或手动调整MySQL服务器参数。 这些笔记涵盖了MySQL优化的主要方面,包括查询优化、SQL编写技巧、数据库设计、存储...

    mysql性能优化-慢查询分析、优化索引和配置.docx

    MySQL性能优化是一个重要的主题,尤其是对于处理大量数据的系统来说,高效的数据库操作直接影响到应用程序的响应速度和用户体验。本文主要围绕慢查询分析、优化索引和配置调整三个方面展开。 一、优化概述 优化...

    mysql性能优化.pptx

    MySQL性能优化是一个涵盖广泛的主题,涉及多个层面,包括SQL语句优化、索引优化、数据库表结构优化、系统级配置优化以及服务器硬件优化。以下是对这些方面进行详细说明: 1. **SQL语句优化** - **慢查询日志**:...

    mysql5.6性能优化-Oracle公司

    MySQL性能优化是数据库管理员、开发人员和系统架构师在使用MySQL数据库时关注的重要领域,特别是在需要保证服务的高效能、高可靠性和易用性的应用中。Oracle公司作为一家在数据库技术和市场领域具有深厚积累的公司,...

    A001-MySQL安装、MySQL优化、innodb 锁问题监控处理、MySQL binlog日志、MySQL 基础

    MySQL是一个开源的关系型数据库管理系统(RDBMS),它广泛用于Web应用程序开发和作为后端数据库。 以下是MySQL的文档内容介绍: ...它的性能优化包括索引、查询优化、缓存等方面的技术支持。 可扩展性:

    mysql高性能---mysql数据库的性能调优

    首先,性能优化主要涉及以下几个方面: 1. **查询优化**:高效的SQL查询是性能提升的关键。这包括避免全表扫描,合理使用索引,避免在WHERE子句中使用不等操作或函数,以及避免在JOIN操作中使用不匹配的数据类型。...

    mysql性能优化教程.pdf (by caoz)

    ### MySQL性能优化知识点详解 #### 一、背景及目标 - **目的**:厦门游家公司(4399.com)为了提升员工技能水平,制定了这份MySQL性能优化教程,旨在为已有一定MySQL使用经验的工程师提供实战指导。 - **适用场景*...

    mysql-shell:mysql-shell-8.4.0-windows-x86-64bit.zip

    6. **性能分析**:内置的性能顾问模块可以分析查询性能,提供改进建议,帮助优化数据库性能。 7. **安全特性**:支持SSL连接,确保数据传输的安全性;此外,它还提供了身份验证插件管理,便于配置和管理用户权限。 ...

    HCIP-GaussDB for MySQL题库.docx

    这些知识点反映了GaussDB(for MySQL)作为云数据库在集群管理、性能优化、安全性、备份恢复以及日常运维等方面的专业知识。了解并掌握这些内容对于通过HCIP-GaussDB for MySQL认证是非常重要的。

    Mysql性能优化教程.doc

    ### MySQL性能优化教程知识点概述 #### 一、MySQL执行优化 **1.1 背景及目标** - **背景**: 针对已具备一定MySQL使用经验的工程师,特别是适用于高并发、海量数据处理的互联网环境。 - **目标**: 通过对MySQL性能...

    MySQL的SQL查询性能优化技术.pdf

    除此之外,监控示例如慢查询日志、`performance_schema.events_statements_summary_by_digest`和`sys.statements_with_runtimes_in_95th_percentile`提供了识别和优化低效查询的途径。MySQL Enterprise Monitor的...

    mysql数据库性能优化

    ### MySQL数据库性能优化 #### 一、概览 在当今高度依赖互联网技术的世界里,数据库作为数据存储的核心组件,其性能直接影响着应用系统的响应速度和用户体验。MySQL作为一款广泛使用的开源关系型数据库管理系统,...

    大牛-高级教程MySQL性能优化实战

    8. **慢查询日志**:开启慢查询日志,记录执行时间超过设定阈值的查询,以便找出并优化低效的SQL语句。 9. **定期分析与优化**:使用ANALYZE TABLE和OPTIMIZE TABLE命令定期分析和优化表,更新统计信息,确保查询...

    mysql 性能优化 How to Analyze and Tune SQL Queries for Better Perfor

    MySQL 性能优化 - 查询优化技术 MySQL 性能优化是数据库管理员和开发者最关心的问题之一,如何分析和优化 SQL 查询以提高性能是 MySQL 性能优化的核心技术之一。在本资源中,我们将介绍 MySQL 性能优化的基本概念、...

    二、mysql优化技术-定位慢查询

    "二、mysql优化技术-定位慢查询"这一主题聚焦于如何识别和解决性能瓶颈,提升数据库的响应速度。这篇博文可能详细介绍了如何诊断和解决MySQL中的慢查询问题,而`sql.txt`文件很可能包含了一些示例SQL语句或者慢查询...

Global site tag (gtag.js) - Google Analytics