jmeter性能优化之mysql监控sql慢查询语句分析

接上次博客:基础配置

多用户登录并退出jmx文件:百度网盘

提取码:0000

一、练习jmeter脚本检测mysql慢查询
  1. 随意找一个脚本(多用户登录并退出),并发数设置300、500后分别查看mysql监控平台

  2. 启动后查看,主要查看mysql连接情况

    下图查看:Max Used Connections最大176,

    分析查看:设置的最大连接数为512,实际最大只能连接176,其他的在等待连接或者在排队

  3. 查看Mysql Slow Queries慢查询,最大慢查询在7.28s,平均是0.38s

  4. 主机基础监控CPU、内存都在90%以上,可以先处理CPU,内存问题

  5. 观察聚合报告,压测300,500都没有异常率

  6. 通过表查看慢查询数据,只筛选2024-06-09 18:31:00之后的数据按降序排列

bash 复制代码
select * from mysql.slow_log where start_time>'2024-06-09 18:31:00' order by start_time desc;

查询出有这么多条慢查询sql

start_time :开始时间

user_host:监控主机IP

query_time:花费的查询时长(按照设置的,超过1s的都会被筛选出来)

  1. 随意选择一个语句,选择后面的(BLOB 3.32)点击上面的文本(或备注),会在表格下面出现慢查询的sql语句

  2. 复制该语句,进行执行后可能会为空(不关注这里),注意要对应数据

  3. 点击上面的解释,显示如下

    type=ALL:代表全表搜索,没有带任何索引

    rows=906014:从90W条数据中查询,依次类推,把慢查询的语句给研发查看进行优化

    type类型有哪些,和执行速度:CONST>EQ_REF>REF>RANEG>INDEX>ALL

    ALL全表搜索:数据库查询里最慢的一种

开发优化后再次压测,如果再出现慢查询再次优化,直到满足需求为止!

相关推荐
幽灵诶17 小时前
Mysql(基于测试的学习)
数据库·mysql
宇宙无敌暴龙战士66617 小时前
MySQL 8 库表操作学习笔记:SQL 基础、库表管理、约束与用户授权全流程
数据库·sql·mysql·学习笔记·后端开发
猿究院_夏燊18 小时前
MySQL 的四种隔离级别
java·数据库·mysql
paopaokaka_luck20 小时前
灾害应急物资管理系统(AI应急助手、Echarts可视化数据看板、捐赠入库联动、 物资全流程管理、库存变动追溯、灾情资讯与互动反馈、物资发放公示)
java·前端·javascript·spring boot·mysql·tomcat·echarts
这个DBA有点耶20 小时前
为什么删掉索引后,查询瞬间变快了?探讨MySQL的随机I/O与顺序I/O博弈
数据库·mysql·代码规范
GreatSQL1 天前
GreatSQL 8.0回流MySQL 5.7主从复制中断分析排查过程
mysql
数据库小学妹1 天前
MySQL磁盘IO瓶颈:iostat与刷脏fsync
数据库·mysql·性能优化
极限实验室1 天前
Easysearch 布尔查询子句重排序(二)|ConjunctionDISI 按 cost 排序源码解析
后端·搜索引擎·性能优化
Umi·1 天前
MySQL之DQL使用实例
数据库·mysql
贾公子1 天前
检测结果怎么落库——表结构、状态机与三类对账
后端·mysql