一、连接数据库和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里面执行(临时配置):
show variables like '%slow_query%';  

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

show variables like '%long_query%';   
  1. 打开后可以监控慢查询sql(多慢算慢,标准是1s以内算正常) --临时打开(以下两种方法)
set global slow_query_log=ON;   
set global long_query_time =1;  #(或者等于1,等于0是关闭)
  1. 可以选file,table。如果选 table ,则慢记录会保存在mysql.slow_log表中
select * from mysql.slow_log;    # 查看慢查询表数据
  1. 查询数据库最大连接数
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连接数、慢查询、表锁

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部