mysql -结合例子进行 日志 分析以及 mysqldumpslow 监控分析-04
一、设计脚本
1、设计一个Jmeter脚本,调用接口查询数据,数据库表数据量大且未加索引,压测结果TPS低,响应时间长
2、 执行Jmeter 脚本
[root@demo testdemo]# /usr/local/apache-jmeter-5.1.1/bin/jmeter -n -t tomcat-2.jmx

3、服务器 top 命名 查看哪个应用CPU高

二、日志分析
1、命令行查看慢日志
(补充 如果rm -f删除了slow.log文件,需要重启应用和mysql服务,然后才会重新生成slow.log文件,如果slow.log 没有生成,则重启应用和mysql 服务)
[root@demo ~]# tail -f /mysql/logs/slow.log

三、mysqldumpslow 监控分析
1、查看 mysqldumpslow 帮助文档

mysqldumpslow 参数详解表
| 参数 | 缩写 | 含义 | 使用示例 | 适用场景 |
|---|---|---|---|---|
--verbose |
-v |
显示详细解析过程 | mysqldumpslow -v /var/log/mysql-slow.log |
调试时查看工具如何处理日志 |
--debug |
-d |
启用调试模式(输出更详细的信息) | mysqldumpslow -d /var/log/mysql-slow.log |
排查工具解析异常时使用 |
--help |
无 | 显示帮助信息 | mysqldumpslow --help |
快速查阅参数列表 |
-s ORDER |
无 | 指定排序规则:al: 平均锁时间ar: 平均返回行数at: 平均查询时间(默认)c: 出现次数l: 总锁时间r: 总返回行数t: 总查询时间 |
mysqldumpslow -s c /var/log/mysql-slow.log |
按频率排序找出高频慢查询 |
-r |
无 | 反转排序结果(默认降序,-r改为升序) |
mysqldumpslow -s t -r /var/log/mysql-slow.log |
查看耗时最短的查询 |
-t NUM |
无 | 仅显示前 NUM 条结果 |
mysqldumpslow -t 10 /var/log/mysql-slow.log |
快速定位 Top N 慢查询 |
-a |
无 | 不抽象化数字(默认将数字替换为 N,字符串替换为 S) |
mysqldumpslow -a /var/log/mysql-slow.log |
需查看具体数值时(如 WHERE id=100) |
-n NUM |
无 | 抽象化数字时至少保留 NUM 位(默认全部抽象) |
mysqldumpslow -n 5 /var/log/mysql-slow.log |
保留长数字的部分特征(如 user_id=12345 显示为 user_id=N2345) |
-g PATTERN |
无 | 仅分析包含指定关键词的查询 | mysqldumpslow -g "ORDER BY" /var/log/mysql-slow.log |
筛选特定类型的慢查询(如排序、连接操作) |
-h HOSTNAME |
无 | 匹配日志文件名中的主机名(支持通配符 *) |
mysqldumpslow -h "db-server-*" /var/log/mysql-slow.log |
多主机日志合并时按主机名过滤 |
-i NAME |
无 | 匹配实例名(适用于多实例环境) | mysqldumpslow -i "instance1" /var/log/mysql-slow.log |
MySQL 多实例部署时区分日志 |
-l |
无 | 不从总时间中减去锁时间(默认会减去) | mysqldumpslow -l /var/log/mysql-slow.log |
需单独分析锁等待时间时 |
返回记录最多的10条:mysqldumpslow -s r -t 10 /mysql/logs/slow.log
访问次数最多的10条:mysqldumpslow -s c -t 10 /mysql/logs/slow.log
返回记录最多的、包含select的10条: mysqldumpslow -s r -t 10 -g 'select' /mysql/logs/slow.log

查询出来的结果分析解释:
count:sql出现次数
Time:sql执行时间 (750次总的时长)
Lock : 锁时间
Rows:结果返回行数
root: 执行用户
select id,username,job,from users where id -N : 执行的sql

浙公网安备 33010602011771号