1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 分析MySQL慢查询日志的好工具–mysqlsla

分析MySQL慢查询日志的好工具–mysqlsla

时间:2024-02-07 22:39:52

相关推荐

分析MySQL慢查询日志的好工具–mysqlsla

数据库|mysql教程

mysqlsla,分析MySQL慢查询日志的好工具–mys

数据库-mysql教程

软文自助发布源码,机顶盒装ubuntu,迷你世界爬虫馆,|| php,鞍山seo站长lzw

mysql数据库的慢查询日志是非常重要的一项调优辅助日志,但是mysql默认记录的日志格式阅读时不够友好,这是由mysql日志记录规则所

团购预售系统源码,lua vscode,ubuntu xchat,tomcat读音,sqlite跳过空,贵州云服务器,html网页设计插件,前端写后台框架,python 爬虫种子,台州php招聘,培训seo班,代理ip自动提取网站源码,漂亮网页ui,bootstrap 移动端模板,h5抽奖页面html5,微信访客管理系统,幸运28程序制作lzw

app生成工具源码,ubuntu修改umask,新的tomcat项目导入,爬虫工具手机,虚拟机配置php环境,广东策划性seo大概多少钱lzw

mysql数据库的慢查询日志是非常重要的一项调优辅助日志,但是mysql默认记录的日志格式阅读时不够友好,这是由mysql日志记录规则所决定的,捕获一条就记录一条,虽说记录的信息足够详尽,但如果将浏览慢查询日志做为一项日常工作,直接阅读mysql生成的慢查询日志就有可能比较低效了。

除了操作系统命令直接查看slowlog外,mysql自己也提供了一个阅读slowlog的命令行工具:mysqldumpslow,该命令行提供了一定的分析汇总功能,,可以将多个类似的SQL语句抽象显示成一个,不过功能还是有些简陋,除此之外,还有不少的第三方工具,可用于分析mysql慢查询日志,其中,mysqlsla,感觉简单又易用。

mysqlsla不仅仅可用来处理慢查询日志,也可以用来分析其它日志比如二进制日志,普通查询日志等等,其对sql语句的抽象功能非常实用,参数设定简练易用,很好上手。

当前mysqlsla的最新版本为2.03,可以下拉到官网下载,地址如下:

mysqlsla是perl编写的脚本,运行mysqlsla需要perl-DBI和per-DBD-Mysql两模块的支持,因此在运行mysqlsla前需要首先安装DBI模块和相应的数据库DBD驱动,而默认情况下linux不安装这两个模块,需要自行下载安装,下载地址如下:

DBI的编译安装步骤如下:

# tar xvfz DBI-1.608.tar.gz

# cd DBI-1.608

# perl Makefile.PL

# make

# make test

# make install

DBD-mysql驱动模块的编译安装步骤如下:

# tar xvfz DBD-mysql-4.011.tar.gz

# cd DBD-mysql-4.011

# perl Makefile.PL

# make

# make install

需要注意,在安装DBD-mysql时需要用到mysql_config,该命令包含在MySQL-devel安装包中,如果当前系统中没有安装该软件,需要首先安装MySQL-devel,否则DBD-mysql在编译过程中会出现错误。

准备工作完全,就可以安装mysqlsla了,编译安装步骤如下:

# tar xvfz mysqlsla-2.03.tar.gz

# cd mysqlsla-2.03

# perl Makefile.PL

# make

# make install

mysqlsla命令默认会保存在/usr/bin路径下,通常可在任意路径下直接执行。对慢查询日志文件的分析,最简化的调用方式如下:

# mysqlsla -lt slow [SlowLogFilePath] > [ResultFilePath]

比如说,原始慢日志中有一堆的下列语句:

# Time: 110417 0:00:09

: junsansi[junsansi] @ [192.168.1.27]

# Query_time: 3 Lock_time: 0 Rows_sent: 1 Rows_examined: 17600

select min(DOC_HIS_ID) AS DOC_HIS_ID from t_******** where DOC_HIS_ISTEAMMATE=1 and DOC_HIS_EDITOR_USER_ID_ENCRYPT=’nfEACAwQEW1MICAN2′;

: junsansi[junsansi] @ [192.168.1.27]

# Query_time: 4 Lock_time: 0 Rows_sent: 1 Rows_examined: 17600

select min(DOC_HIS_ID) AS DOC_HIS_ID from t_******** where DOC_HIS_ISTEAMMATE=1 and DOC_HIS_EDITOR_USER_ID_ENCRYPT=’nfEACAwQEW2MICAN2′;

: jss[junsansi] @ [192.168.1.26]

# Query_time: 4 Lock_time: 0 Rows_sent: 1 Rows_examined: 17600

select min(DOC_HIS_ID) AS DOC_HIS_ID from t_******** where DOC_HIS_ISTEAMMATE=1 and DOC_HIS_EDITOR_USER_ID_ENCRYPT=’nfEACAwQEW3MICAN2′;

: junsansi[junsansi] @ [192.168.1.27]

# Query_time: 3 Lock_time: 0 Rows_sent: 1 Rows_examined: 17600

select min(DOC_HIS_ID) AS DOC_HIS_ID from t_******** where DOC_HIS_ISTEAMMATE=1 and DOC_HIS_EDITOR_USER_ID_ENCRYPT=’nfEACAwQEW4MICAN2′;

: jss[junsansi] @ [192.168.1.26]

# Query_time: 5 Lock_time: 0 Rows_sent: 1 Rows_examined: 17600

select min(DOC_HIS_ID) AS DOC_HIS_ID from t_******** where DOC_HIS_ISTEAMMATE=1 and DOC_HIS_EDITOR_USER_ID_ENCRYPT=’nfEACAwQEW5MICAN2′;

………………..

………………..

直接阅读的操作体验很不好,使用mysqlsla处理后,结果呈现如下:

Count : 23 (8.52%)

Time: 102 s total, 4.434783 s avg, 3 s to 7 s max (6.79%)

95% of Time : 88 s total, 4.190476 s avg, 3 s to 6 s max

Lock Time (s) : 0 total, 0 avg, 0 to 0 max (0.00%)

95% of Lock : 0 total, 0 avg, 0 to 0 max

Rows sent: 1 avg, 1 to 1 max (0.02%)

Rows examined : 11.53k avg, 5.70k to 17.60k max (1.07%)

Database: jssdb

Users :

junsansi@ 192.168.1.27 : 86.96% (20) of query, 11.11% (30) of all users

jss@ 192.168.1.26 : 13.04% (3) of query, 2.96% (8) of all users

Query abstract:

SELECT MIN(doc_his_id) AS doc_his_id FROM t_******** WHERE doc_his_isteammate=N AND doc_his_editor_user_id_encrypt=’S’;

Query sample:

select min(DOC_HIS_ID) AS DOC_HIS_ID from t_******** where DOC_HIS_ISTEAMMATE=1 and DOC_HIS_EDITOR_USER_ID_ENCRYPT=’nfEACAwQEW2MICAN2′;

在上述结果中,语句的执行情况(执行次数,对象信息,查询记录量,时间开销,来源统计)等信息一目了然,比较便于DBA进一步分析了。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。