• 性能测试中MySQL数据库慢查询使用方法【杭州多测师】【杭州多测师_王sir】


    MYSQL 慢查询使用方法
    MYSQL 慢查询介绍
    分析 MySQL 语句查询性能的问题时候,可以在 MySQL 记录中查询超过指定时间的语
    句,我们将超过指定时间的 SQL 语句查询称为“慢查询”。MYSQL 自带的慢查询分析工
    具 mysqldumpslow 可对慢查询日志进行分析:主要功能是, 统计 sql 的执行信息,其
    中包括 :
    出现次数(Count),
    执行最长时间(Time),
    累计总耗费时间(Time),
    等待锁的时间(Lock),
    发送给客户端的行总数(Rows),
    扫描的行总数(Rows),
    用户以及 sql 语句本身(抽象了一下格式, 比如 limit 1, 20 用 limit N,N 表示)
     
    1、 开启慢 SQL 的配置
    1.1 LIUNX 系统 在 mysql 配置文件/etc/my.cnf 中增加
    slow_query_log=1
    long_query_time=0.1
    Slow_query_log 这是一个布尔型变量,默认为真。没有这变量,数据库不会打
    印慢查询的日志。
    long_query_time=0.1(记录超过的时间,默认为 10s),与 DBA 沟通,性能测
    试分析问题时可以将该值设为 0.1 即 100 毫秒,这样分析的粒度更详细。
    备选 :log-queries-not-using-indexes (log 下来没有使用索引的 query,可以
    根据情况决定是否开启)。log-long-format (如果设置了,所有没有使用索引的查
    询也将被记录)
    注: 配置完成后,重新 mysql 服务配置才能生效,默认情况下,慢查询日志生成在
    /var/lib/mysql 目录下,日志名称为{hostname}_slow-query.log
     
    2、 慢查询开启与关闭
    配置完成,连接数据库检查慢查询日志是否开启:
    命令如下:mysql> show variables like '%slow_query_log%';

     

    3、 慢查询日志分析
    1> 先安装 perl:yum install -y perl
    2> 在/usr/bin 目录下,使用 mysql 自带命令 mysqldumpslow
    常用参数:
    -s,是 order 的排序,主要有 c,t,l,r 和 ac,at,al,ar,分别是按照 query 次数,时
    间,lock 的时间和返回的记录数来排序
    -a,倒序排列
    -t,是 top n 的意思,即为返回前面多少条的数据
    -g,后边可以写一个正则匹配模式,大小写不敏感的
    例如:mysqldumpslow -s c -t 20 host-slow.log
    mysqldumpslow -s r -t 20 host-slow.log
    上述命令分别可以看出访问次数最多的 20 个 sql 语句和返回记录集最多的 20 个 sql。
    mysqldumpslow -t 10 -s t -g “left join” host-slow.log 这个是按照时间返回前 10
    条里面含有左连接的 sql 语句。
    图例中的命令:mysqldumpslow –s at -t 50 host-slow.log 显示出耗时最长的 50 个
     
    4、SQL 语句的执行信息
     
    5、慢SQL的SQL语句分析
    以Count: 32 Time=0.26s (8s) Lock=0.00s (0s) Rows=10.0 (320),
    wos_20120719[wos_20120719]@2host 为例:
    Count: 32 该 SQL 总共执行 32 次
    Time = 0.26s (8s) 平均每次执行该 SQL 耗时 0.26 秒,总共耗时 32(次)*0.26(秒)=8 秒。
    Lock=0.00s(0s) lock 时间 0 秒
    Rows =10.0(320) 每次执行 SQL 影响数据库表中的 10 行记录,总共影响 10(行)*32(次)=320 行记
     
  • 相关阅读:
    Java实现无向图的欧拉回路判断问题
    Java实现无向图的欧拉回路判断问题
    Java实现无向图的欧拉回路判断问题
    Java实现无向图的欧拉回路判断问题
    Java实现无向图的欧拉回路判断问题
    _stricmp, _wcsicmp, _mbsicmp, _stricmp_l, _wcsicmp_l, _mbsicmp_l 比较函数
    ring3下利用WMI监视进程创建(vc版)
    更改当前电源策略(使用SetActivePwrScheme API函数),自定义电源按钮动作(设置GLOBAL_POWER_POLICY)
    zyltimer与ZylIdleTimer
    QtCreator源码分析—2.启动主程序(4篇)
  • 原文地址:https://www.cnblogs.com/xiaoshubass/p/16754441.html
Copyright © 2020-2023  润新知