slowlog汇总报告工具slow-log-summary

概念描述

在分析慢日志时,DBA 常用 Percona Toolkit 中的 pt-query-digest工具,该工具可对慢日志进行汇总分析,但是该工具首先需要去学习怎么使用及读懂分析结果,并且分析过程会耗费一定的时间。而且有些开发人员因为服务器权限问题,是无法获取到slowlog的,所以分享一个工具 slow-log-summary。
slow-log-summary 工具会生成一个HTML 格式的慢查询汇总报告。每一类 SQL 是一行。执行总耗时越久的 SQL,排名越靠前,也最值得优化,可读性方面非常好。对于开发人员,可直接从 performance_schema 中获取 SQL 的执行耗时分布情况,非常的方便实用。

测试验证

1. 下载安装

下载地址:https://github.com/slowtech/slow-log-summary ,可直接下载二进制包,也可进行源码编译。

二进制包安装
[root@mysql local]#wget https://github.com/slowtech/slow-log-summary/releases/download/v1.0.0/slow-log-summary-linux-amd64.tar.gz
[root@mysql local]#tar xf slow-log-summary-linux-amd64.tar.gz
[root@mysql local]# 
[root@mysql local]# ll
-rwxr-xr-x   1 root        root         8884200 Nov 27 12:40 slow-log-summary
-rw-r--r--   1 root        root         4789564 Nov 27 12:54 slow-log-summary-linux-amd64.tar.gz

2. 参数详解

[root@mysql local]# ./slow-log-summary --help
slow-log-summary version: 1.0.0
Usage:
slow-log-summary -source <source_type> -r <output_file> [other options]

Example:
./slow-log-summary -source perf -h 10.0.0.168 -P 3306 -u root -p '123456'  ----指定慢查询汇总报告来源为perf 的例子
./slow-log-summary -source slowlog -pt /usr/local/bin/pt-query-digest -slowlog /data/mysql/3306/data/n1-slow.log  ----指定慢查询汇总报告来源为慢日志 + pt-query-digest 的例子

Common Options:
  -help
    Display usage

Source Type Options:
  -source string
    Slow log source: 'perf' or 'slowlog' (default "perf")  ----指定慢查询汇总报告的来源。可设置 perf(performance_schema),也可设置 slowlog(慢日志 + pt-query-digest)

Output File Options:
  -r string
    Direct output to a given file (default "/tmp/slow-log-summary-20231128-150405.html")  ----慢查询汇总报告文件名。如果不指定,则默认为 "/tmp/slow-log-summary-当前时间.html",例如 /tmp/slow-log-summary-20231128-150405.html

Options when source is 'perf':
  -h string
    MySQL host (default "localhost")  ----主机名,默认是 localhost
  -P int
    MySQL port (default 3306)  ----端口,默认是 3306
  -u string
    MySQL username (default "root")  ----用户名,默认是 root
  -p string
    MySQL password  ----密码
  -D string
    MySQL database (default "performance_schema")  ----库名,默认是 performance_schema

Options when source is 'slowlog': 用于基于慢日志和 pt-query-digest 方式可设置的参数
  -pt string
    Absolute path for pt-query-digest. Example: /usr/local/bin/pt-query-digest  ----pt-query-digest路径
  -slowlog string
    Absolute path for slowlog. Example: /var/log/mysql/node1-slow.log  ----指定 slow.log 文件路径
  -since string
    Parse only queries newer than this value, YYYY-MM-DD [HH:MM:SS]  ----分析指定时间段开始的慢日志
  -until string
    Parse only queries older than this value, YYYY-MM-DD [HH:MM:SS]  ----分析指定时间段结束的慢日志
  -yday
    Parse yesterday's slowlog  ----分析昨天的慢日志

当 source 设置为 slowlog 时,需要提前解压安装 Percona Toolkit 工具,因为该工具是基于 pt-query-digest 对慢日志进行分析,所以需要通过 -pt 设置 pt-query-digest 的绝对路径和 -slowlog 设置慢日志的绝对路径。

3. 使用方法

3.1 基于 performance_schema
[root@mysql local]# ./slow-log-summary -source perf -h 127.0.0.1 -P 3306 -u root -p 123456 -r slow-log-summary.html
Output written to file slow-log-summary.html

不在命令行中指定密码

[root@mysql local]# ./slow-log-summary -source perf -h 127.0.0.1 -P 3306 -u root
Enter MySQL password:
Output written to file /tmp/slow-log-summary-20231128-154212.html
3.2 基于慢日志和 pt-query-digest
[root@mysql local]# .
  • 14
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值