jmeter性能优化之mysql配置

一、连接数据库和grafana

准备:连接好数据库和启动grafana并导入mysql模板

大批量注册、登录、下单等,还有过节像618,双11和数据库交互非常庞大,都会存在数据库的某一张表里面,当用户在登录或者查询某一个界面时,量少的话体现不出来,量很大的时候一定会有卡的现象,

性能响应一般是2、5、8、10,当2s响应的时候还可以忍受,当5s响应的时候都可能会损失很多用户,

例如查询订单表,如下,一张表有10w条数据

二、查看grafana监控模板和打开慢查询开关及最大连接数
  1. 查看mysql connections看板(目前没有压测,数据都很低)

    Max Connections:最大连接数 151(默认,后面可以更改)

    Max Userd Connections:最大用户连接数

    Connections:当前连接数

  2. 查看mysql slow queries看板(慢查询)

    慢查询主要影响的索引(主键、外键、索引):

    索引分类:主键索引、唯一索引、普通索引、全文索引、覆盖索引、组合索引

MySQL TableLocks 表锁

Table Locks Immediate:立即表锁

Table Locks Waited:等待表锁

  1. 打开慢查询开关(默认OFF),在navicat里面执行(临时配置):
bash 复制代码
show variables like '%slow_query%';  

查看慢查询默认设置多少s(默认是10s),超过了10s就会写到指定某个表里或文件里:

bash 复制代码
show variables like '%long_query%';   
  1. 打开后可以监控慢查询sql(多慢算慢,标准是1s以内算正常) --临时打开(以下两种方法)
bash 复制代码
set global slow_query_log=ON;   
set global long_query_time =1;  #(或者等于1,等于0是关闭)
  1. 可以选file,table。如果选 table ,则慢记录会保存在mysql.slow_log表中
bash 复制代码
select * from mysql.slow_log;    # 查看慢查询表数据
  1. 查询数据库最大连接数
bash 复制代码
show variables like '%max_connections%'; 
  1. 永久配置,mysql配置(一般在etc目录下面),编辑my.conf文件(放在最后)

    log_output=table #将慢查询日志保存到表中

    slow_query_log=1 #开启慢查询

    long_query_time=1 #慢查询超时为1s

    max_connections=512 #最大连接数

    重启mysql服务:systemctl restart mysqld

    再使用navicat执行sql查看,都改过来了

    show variables like '%slow_query%'; # 查看慢查询是否开启

    show variables like '%long_query%'; # 查看慢查询设置多少s

    show variables like '%max_connections%'; # 查询数据库最大连接数

三、关注指标

关注指标:mysql连接数、慢查询、表锁

相关推荐
bluceli10 小时前
前端性能优化实战指南:让你的网页飞起来
前端·性能优化
冰_河1 天前
QPS从300到3100:我靠一行代码让接口性能暴涨10倍,系统性能原地起飞!!
java·后端·性能优化
叶智辽3 天前
【Three.js内存管理】那些你以为释放了,其实还在占着的资源
性能优化·three.js
于眠牧北3 天前
MySQL的锁类型,表锁,行锁,MVCC中所使用的临键锁
mysql
BigByte3 天前
我用 6 个 WASM 编码器干掉了 Canvas.toBlob(),图片压缩率直接提升 15%
性能优化·webassembly·图片资源
DemonAvenger4 天前
Kafka性能调优:从参数配置到硬件选择的全方位指南
性能优化·kafka·消息队列
桦说编程4 天前
实战分析 ConcurrentHashMap.computeIfAbsent 的锁冲突问题
java·后端·性能优化
Turnip12024 天前
深度解析:为什么简单的数据库"写操作"会在 MySQL 中卡住?
后端·mysql
加号35 天前
windows系统下mysql多源数据库同步部署
数据库·windows·mysql
シ風箏5 天前
MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)
数据库·mysql·docker