mysql 性能监控小工具之 mytop

I. 安装与配置

Centos 下可以直接通过yum进行安装

yum install mytop

使用姿势和top命令一样,直接用即可

mytop

可能提示没有权限,如下

# mytop !500
Cannot connect to MySQL server. Please check the:
* database you specified "test" (default is "test")
* username you specified "root" (default is "root")
* password you specified "" (default is "")
* hostname you specified "localhost" (default is "localhost")
* port you specified "3306" (default is 3306)
* socket you specified "" (default is "")
The options my be specified on the command-line or in a ~/.mytop
config file. See the manual (perldoc mytop) for details.
Here's the exact error from DBI. It might help you debug:
Access denied for user 'root'@'localhost' (using password: NO)

配置文件

通过上面的提示,可以添加配置文件

vim ~/.mytop

## 配置信息如

host=localhost

user=root

pass=mypwd

db=dbName

port=3306

# 刷新时间,5s刷新下

delay=5

batchmode=0

color=1

idle=1

使用姿势

直接将密码写到配置文件,可能并不是非常安全,可以如下操作

mytop --prompt

# 然后再窗口内输入密码即可

如果不想添加上面的配置,可以指定参数监控的db

mytop -d dbName --prompt

II. 监控与参数说明

执行上面的命令之后,窗口显示内容如下

MySQL on localhost (5.7.18) up 345+19:27:20 [18:55:58]
Queries: 778.2k qps: 0 Slow: 0.0 Se/In/Up/De(%): 72/00/02/00
qps now: 1 Slow qps: 0.0 Threads: 3 ( 1/ 6) 50/00/00/00
Key Efficiency: 50.0% Bps in/out: 3.3/163.3 Now in/out: 24.9/ 2.1k
Id User Host/IP DB Time Cmd Query or State
-- ---- ------- -- ---- --- ----------
568 root localhost story 0 Query show full processlist
567 root localhost story 5 Sleep
541 root localhost:44568 solo 3529 Sleep

1. 参数说明

第一行

Queries: 778.2k qps: 0 Slow: 0.0 Se/In/Up/De(%): 72/00/02/00

整体信息:

Queries 服务器处理过的query总数

qps 每秒处理的query数量的平均值

Slow 慢查询总数

Se/In/Up/De(%) Select,Insert,Update,Delete 各自的占比

第二行

qps now: 1 Slow qps: 0.0 Threads: 3 ( 1/ 6) 50/00/00/00

当前的qps信息:

qps now 本周期内的每秒处理query的数量

Slow qps 本周期内的每秒慢查询数量

Threads 当前连接线程数量,后面括号内的第一个数字是active状态的线程数量,第二个数字是在线程缓存中的数量

最后一列是本周期内的 Select,Insert,Update,Delete 各自的占比

第三行

Key Efficiency: 50.0% Bps in/out: 3.3/163.3 Now in/out: 24.9/ 2.1k

Key Efficiency : 表示有多少key是从缓存中读取,而不是从磁盘读取的

Bps in/out : 表示mysql平均的流入流出数据量

Now in/out : 是本周期内的流入流出数据量

剩余

后面的就是线程信息

2. 常用命令

查看活动线程的详细信息,看下这个线程里面正在执行的sql是什么

按F, 然后输入线程ID

然后 e 可以查看sql的情况

查看命令执行的汇总情况

按c

退出按 t

需要更多地命令帮助

按 ?

III. 其他

一灰灰的个人博客,记录所有学习和工作中的博文,欢迎大家前去逛逛