mysql 性能监控小工具之 mytop
参考: How To Use Mytop to Monitor MySQL Performance
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)
# 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
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
需要更多地命令帮助
- 按 ?