mysql qps 索引查询_mysql QPS 抓取和分析

本文介绍了如何进行MySQL QPS的监控与分析,包括开启查询日志、统计QPS增量值并保存、收集慢查询和普通日志、使用mysqlsla工具进行日志分析,以及对数据进行处理和导入到新的数据库进行进一步分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Mysql qps 数据统计和分析

1.工作准备

1.1  mysql相关 配置准备

#打开查询日志

Set global general_log = 1;

Set global general_log_file =’/data/mysqldata/data/localhost1.log’

注意:log_output这个参数需要设置为file,如果为table就不会记录到文件了

#打开满查询日志(默认是开的)

Set gloabl log_slow_queries = 1;

#修改满查询阀值(默认1s改成0.5s)

Set global long_query_time = 0.5;

#打开未使用索引查询记录

Set global log_queries_not_using_indexes = 1;

以上配置是,打开相关日志记录的参数,慢查询,和不适用索引查询的sql

统计QPS

2.1 QPS= select + update+ insert+delete

这里我们只统计数据库每秒执行的select,update,insert和delete数量(增量数据)。

因为数据库里面这些参数对应的值都是当前值, 而不是每秒的增量,所以,我们需要自己写脚本去搜集

Select ------>Com_select

Update ------>Com_update

Insert ------>Com_insert

Delete ------>Com_delete

2.2 去qps增量值保存到文件

这里我们采用mysqladmin -u7roaddba -p -r -i 1 exttended-status来动态增量获取上面对应参数的值。

这里-r 是去增量值,-i 是刷新取值频率,这里是每秒

在mysql服务器,系统层面执行

mysqladmin -u7roaddba -p -r -i 1 ext |awk -F"|" "BEGIN{ count=0; }"'{ if($2 ~ /Variable_name/ && ++count == 1){\

print "---------- MySQL Command Status -- --";\

print "---Time---|select insert update delete";\

}\

else if ($2 ~ /Com_select /){com_select=$3;}\

else if ($2 ~ /Com_insert /){com_insert=$3;}\

else if ($2 ~ /Com_update /){com_update=$3;}\

else if ($2 ~ /Com_delete /){com_delete=$3;}\

else if ($2 ~ /Uptime / && count = 2){\

printf(" %s ",strftime("%Y-%m-%d %H:%M:%S"));\

printf(",%6d ,%6d ,%6d ,%6d\n",com_select,com_insert,com_update,com_delete);\

}}' |tee -a a.csv

这里会吧上面的几个指标值,按照‘,’ 分割来写入文件a.csv中保存下来

看下a.csv中的内容

c503be9f913cb6ff2a2e6fd6cfa1a637.png

3,收集慢查询和general log日志文件

3.1 将服务器的general log日志和慢查询日志下载到本地保存

如:

这里的慢查询日志名是 slow-query.log

General log 日志名是 localhost.log

差不多5个小时,可能general log的日志文件就会填充到1G 大小以上

4,处理和分析阶段

4.1 将qps 抓取的数据,导入到本地空闲的mysql服务器中

这里我们导入到test库中

创建表

Create table qps(ctime datetime,

svalue int(11),

uvalue int(11),

ivalue int(11),

dvalue int(11));

将搜集qps的文件a.csv复制到mysql的数据目录下的test目录中

Mysql> load data infile‘a.csv’into qp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值