VC中文网-VC-MFC编程论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 451|回复: 5
打印 上一主题 下一主题

监控利器:详解MySQL 的实时性能监控好工具

[复制链接]

15

主题

49

帖子

33

金币

连长

Rank: 7Rank: 7Rank: 7

积分
144
跳转到指定楼层
楼主
发表于 2018-11-23 12:19:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
操作系统及MySQL数据库的实时性能状态数据尤为重要,特别是在有性能颤栗的时候,这些实时的性能数据可以快速帮忙你定位系统或MySQL数据库的性能瓶颈,就像你在Linux系统上使用「top,sar,iostat」等命令工具一样,可以立刻定位OS的性能瓶颈是在IO还是CPU上,所以收集/展示这些性能数据就更为重要,那都有哪些重要的实时性能状态指标可以反应出系统和MySQL数据库的性能负载呢?

目前在Linux跑MySQL是大大都互联网公司的标配,以上图片的性能数据指标项是我认为在Linux,MySQL,InnoDB中较为重要的实时状态数据,然而在以上图片Doing一栏其实更为重要,之所以把它叫做Doing,是因为「processlist,engine innodb status,locks」等指标项才真正反应了MySQL此时正在做什么。

我们来对标Oracle数据库看一下,在Oracle数据库中提供了「AWR,ASH,SQL Monitor」等众多诊断工具,可以一眼望穿数据库正在做什么,甚至都可以知道在过去30天内任何一个时间区间的性能负载和那时数据库正在做什么。

在MySQL中虽然有像「zabbix,PMM」等优秀的监控工具,但它们只能反应数据库历史的一些性能数据曲线,例如,TPS高了,临时表使用多了,有InnoDB Deadlocks,但对MySQL那时的Doing,我只能说不敷直接。如果你在现场,你可以抓到MySQL正在做什么,可是,你总有不在现场的时候,如果问你昨天晚上数据库的性能颤栗是什么原因?怎样快速重现现场找到引起颤栗的原因呢?

谜底是可以使用「doDBA tools」,这是一款免费的基于控制台监控工具。

doDBA tools是什么

doDBA tools是一个基于控制台的远程监控工具,它不需要在本地/远程系统上安装任何软件,它可以实时收集操作系统、MySQL、InnoDB的实时性能状态数据,并可以生成Doing日志文件,来帮忙你快速了解/优化系统及MySQL数据库。

特点

    基于golang语言开发

    可收集Linux、MySQL相关性能数据

    可本地或远程收集,可多台

    mytop --Like Linux TOP

    基于并产生成Doing日志,复现现场

    可记录到日志文件

doDBA tools 工作原理

远程收集系统信息是通过ssh(用户名密码或建立信任)的体例连接到远程办事器上收集,收集的体例都是通过读取Linux的proc下的等meminfo,diskstats,uptime,net,vmstat ,cpuinfo ,loadavg等文件,这和pmm,zabbix收集体例一致。

远程收集MySQL信息是通过 MySQL tcp连接到MySQL数据库上收集,只需要授予连接用户PROCESS、SELECT权限即可。

系统信息和MySQL信息的收集可以分手,如果只想收集系统信息,只需要提供系统用户名密码即可,如果只收集MySQL可以只提供MySQL连接信息,如果是rds用户,可以使用-rds参数,在使用mytop时会自动忽略系统信息的收集。

如何使用

Github主页:

https://github.com/dblucyne/dodba_tools

Download:

wget https://raw.githubusercontent.com/dblucyne/dodba_tools/master/doDBA --no-check-certificatewget https://raw.githubusercontent.com/dblucyne/dodba_tools/master/doDBA.conf --no-check-certificatechmod +x doDBA

下载下来就可以直接使用,不依赖于任何环境。

使用帮忙:

./doDBA -help -c string configuration file.(default "doDBA.conf") -h string Connect to host/IP. -sys Print linux info. -myall Print linux and mysql info. -mysql Print mysql info. -innodb Print innodb info. -mytop Print mysql prcesslist,like top. -i duration refresh interval in seconds.(1s) -t int doing on Threads_running.(50)

-rds

Ignore system info. -log Print to file by day. -nocolor Print to nocolor.

使用实例

1. 收集Linux性能数据

./doDBA -h=10.1.x.xx -sys

2. 收集MySQL性能数据

./doDBA -h=10.1.x.xx -mysql

3. 收集InnoDB性能数据

./doDBA -h=10.1.x.xx -innodb

4. 收集MySQL及Linux性能数据

./doDBA -h=10.1.x.xx -myall

5. mytop --like linux top

./doDBA -h=10.1.x.xx -mytop

6. 借助Shell收集多台

cat ip.txt

10.1.x.x1

10.1.x.x2

Shell

cat ip.txt | while read ip;

do

echo $ip;

./doDBA -h=$ip -mysql -log </dev/null &

done

7. 收集到日志文件

./doDBA -h=10.1.x.xx -mysql -log

8. 开启Doing功能

使用【-t】参数可以基于Threads_running的数量设置阈值,设置后可记录「processlist,engine innodb status」信息到dodba.log日志中,--复现现场。

./doDBA -h=10.1.x.xx -myall -t=3

9. 查看Doing日志

tail -f dodba.log


原文来自:https://yq.aliyun.com/articles/67051

更多内容回复查看:
游客,如果您要查看本帖隐藏内容请回复
C VC C++ MFC 汇编 函数 脚本 辅助 多开 注入 内存 插件 破解 基址 窗口 大漠 绑定 编程 交流 论坛 实例 源码

5

主题

38

帖子

13

金币

连长

Rank: 7Rank: 7Rank: 7

积分
51

新兵

沙发
发表于 2018-11-23 12:20:04 | 只看该作者
不开源,发出来就是耍流氓
C VC C++ MFC 汇编 函数 脚本 辅助 多开 注入 内存 插件 破解 基址 窗口 大漠 绑定 编程 交流 论坛 实例 源码

11

主题

37

帖子

25

金币

连长

Rank: 7Rank: 7Rank: 7

积分
111

新兵

板凳
发表于 2018-11-23 12:20:48 | 只看该作者
不开源,发出来就是耍流氓
C VC C++ MFC 汇编 函数 脚本 辅助 多开 注入 内存 插件 破解 基址 窗口 大漠 绑定 编程 交流 论坛 实例 源码

11

主题

41

帖子

25

金币

连长

Rank: 7Rank: 7Rank: 7

积分
117

新兵

地板
发表于 2018-11-23 12:21:37 | 只看该作者
下次试试,实验下
C VC C++ MFC 汇编 函数 脚本 辅助 多开 注入 内存 插件 破解 基址 窗口 大漠 绑定 编程 交流 论坛 实例 源码

11

主题

151

帖子

33

金币

团长

Rank: 10Rank: 10Rank: 10

积分
474

初来乍到新兵

5#
发表于 2018-11-23 12:22:31 | 只看该作者
自从有了阿里云之后,确实省了很多阿里云的事
C VC C++ MFC 汇编 函数 脚本 辅助 多开 注入 内存 插件 破解 基址 窗口 大漠 绑定 编程 交流 论坛 实例 源码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

VC中文网 - 豫ICP备14012807号|小黑屋|联系客服|金币冲值|VC中文网

GMT+8, 2019-11-20 08:05 , Processed in 1.164062 second(s), 30 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表
pk10投注技巧分享