myslqsla慢查询
mysqlsla是一个分析mysql的慢查询工具,功能强大,可以分析出慢查询的原因,包括执行某条SQL语句的出现的次数及在slow log数据的百分比 执行时间 等待时间等
一,如何安装
- 下载mysqlsla http://hackmysql.com/scripts/mysqlsla-2.03.tar.gz
- tar xf mysqlsla-2.03.tar.gz #解压安装包
- cd mysqlsla-2.03
- perl Makefile.PL #配置
- make #编译
- make install #安装
二,出现问题的解决方法
- Can't locate ExtUtils/MakeMaker.pm
解决:yum install perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker
sf:[+-][TYPE],[TYPE]有SELECT, CREATE, DROP, UPDATE, INSERT,例如”+SELECT,INSERT”,不出现的默认是-,即不包括。
db:要处理哪个库的日志。
top:表示取按规则排序的前多少条。
sort:按某种规则排序,t_sum按总时间排序, c_sum按总次数排序。
Count: sql的执行次数及占总的slow log数量的百分比.
Time: 执行时间, 包括总时间, 平均时间, 最小, 最大时间, 时间占到总慢sql时间的百分比,95% of Time, 去除最快和最慢的sql, 覆盖率占95%的sql的执行时间.
Lock Time: 等待锁的时间,95% of Lock , 95%的慢sql等待锁时间.
Rows sent: 结果行统计数量, 包括平均, 最小, 最大数量.
Rows examined:扫描的行数量.
Database: 属于哪个数据库
Users: 哪个用户,IP, 占到所有用户执行的sql百分比
Query abstract: 抽象后的sql语句
Query sample: sql语句
测试:
[root@ceshi ~]# mysqlsla -lt slow /data/3306/data/ceshi-slow.log
Report for slow logs: /data/3306/data/ceshi-slow.log
1 queries total, 1 unique
Sorted by 't_sum'
Grand Totals: Time 6 s, Lock 0 s, Rows sent 1, Rows Examined 0
______________________________________________________________________ 001 ___
Count : 1 (100.00%)
Time : 6.001296 s total, 6.001296 s avg, 6.001296 s to 6.001296 s max (100.00%)
Lock Time (s) : 0 total, 0 avg, 0 to 0 max (0.00%)
Rows sent : 1 avg, 1 to 1 max (100.00%)
Rows examined : 0 avg, 0 to 0 max (0.00%)
Database :
Users :
yang@localhost : 100.00% (1) of query, 100.00% (1) of all users
Query abstract:
SET timestamp=N; SELECT sleep(N);
Query sample:
SET timestamp=1513150838;
select sleep(6);