章
目
录
最近潘老师在做有关msyql的性能测试与监控,需要查看一些核心的统计指标,mysql不像oracle内置了AWR性能监控工具,只能借助网上开源的一些工具。如果你不怕麻烦也客户手工去计算,不过那肯定得疯。
其实mysql性能监控工具有很多,但很多都停止更新了,甚至连官网都打不开,比如myawr,还有淘宝官方开源的Orzdba,也找不到。
最后发现能用的就两个,一个是Mysql Tuner,还有一个就是doDBA Tools。
先上下这两个项目的github地址:
Mysql Tuner:https://github.com/major/MySQLTuner-perl
doDBA Tools:https://github.com/dblucyne/dodba_tools
如果你的github打不开或访问慢,可以看下github官网打不开或访问慢的解决办法
mysql tuner最近一直在更新,对mysql8部分支持,估计功能比较强大,没仔细研究,而doDBA Tools最后一次更新是17年,但整体看上去还是doDBA Tools使用更加简单,不依赖其他插件,而且功能也够我用的了。在使用之前,先简单介绍下doDBA。
- 基于golang语言开发
- 可收集Linux、MySQL相关性能数据
- 可本地或远程收集,可多台
- 提供类似Linux top的mytop的功能
- 基于并发生成Doing日志,还原现场
- 可记录到日志文件
下面说下doDBA Tools使用步骤。
1)从github上把源码下载下来
这个没什么好说的,当然你也可以直接通过如下指令在linux中安装:
wget https://raw.githubusercontent.com/dblucyne/dodba_tools/master/doDBA --no-check-certificate wget https://raw.githubusercontent.com/dblucyne/dodba_tools/master/doDBA.conf --no-check-certificate
2)如果你是下载的需要上传到linux系统,然后给doDBA文件授权
chmod +x doDBA
3)修改配置文件
核心配置文件就是doDBA.conf
,里面配置也很简单,默认配置如下:
{ "Host":"", "Huser": "root", "Hport": "22", "Hpwd": "", "Muser": "dodba", "Mpwd": "dodba", "Mport":"3306" }
H开头的是主机配置,M开头的是MySQL数据库配置,大家应该都能看懂,根据根据自己需求配置下,数据库用户可以直接使用root用户,或者新建一个dodba账户也行。这里我相信大家应该都会,就不赘述了。
4)运行doDBA
怎么使用完全可以参考doDBA的ReadMe文档,或者查看help指令:
./doDBA -help Usage: doDBA [OPTIONS] -help # 显示帮助 -c string # 指定配置文件 (default "doDBA.conf") -h string # 链接的 host/IP -sys # 打印Linux的信息 -myall # 打印Linux和MySQL的信息 -mysql # 打印MySQL的信息 -innodb # 打印InnoDB存储引擎的信息 -mytop # 打印MySQL processlist,相似top -i <duration> # 刷新间隔的秒数 (默认1s) -t <int> #当MySQL Threads_running到达阈值时会输出 show processlist和showengine innodb status到dodba.log中 (默认50) -hP <string> # 主机端口 (默认 "22") -hp <string> # 主机密码 -hu <string> # 主机用户 (默认 "root") -mP <string> # MySQL端口 (默认 "3306") -mp <string> # MySQL密码 -mu <string> # MySQL用户 -rds # 忽略Linux信息 -log # 按照日期输出到日志文件 -nocolor # 不加颜色输出
比如潘老师这里常用的就是如下几个:
#监控Linux系统 -h指定主机ip ./doDBA -h=10.1.xx.xx -sys #监控mysql性能 ./doDBA -h=10.1.xx.xx -mysql #监控MySQL及Linux性能数据 ./doDBA -h=10.1.xx.xx -myall #收集mysql性能数据到日志文件 ./doDBA -h=10.1.xx.xx -mysql -log #开启Doing功能 ./doDBA -h=10.1.xx.xx -myall -t=3
注意:mysql8运行监控性能时可能会出现连接报错,具体请参考:
文章目录说下报错原因 报错解决办法 总结 最近在使用doDBA工具监控mysql8数据库的性能时,配置好用户名 […]
正常监控的效果图如下:

每秒都会打印mysql性能统计指标的数据,比如QPS、TPS、连接情况、慢查询、锁情况等等,而且还是在doDBA所在目录下生成对应的日志文件以供查询。
每列含义如下:
mysql-status
qps —— Com_select
tps —— Com_insert + Com_update + Com_delete
ins —— Com_insert
upd —— Com_update
del —— Com_delete
threads
run —— Threads_running
con —— Threads_connected
cre —— Threads_created
cac —— Threads_cached
slow
sql —— Slow_queries
tmp —— Created_tmp_tables
dtmp —— Created_tmp_disk_tables
bytes
recv —— Bytes_received
send —— Bytes_sent
locks
lockI —— Table_locks_immediate
lockW —— Table_locks_waited
openT —— Open_tables
openF —— Open_files
总结
以上就是mysql8性能监控工具doDBA的使用方法,整体而言,还是非常简单使用的。如果需要可视化的监控,可以考虑免费开源的Zabbix,功能还是相当强大的。
更详细参考:doDBA使用详解