MySql性能监控工具MyTop

一灰灰blogDBMysqlMysql约 777 字大约 3 分钟

mysql 性能监控小工具之 mytop

参考: How To Use Mytop to Monitor MySQL Performanceopen in new window

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

需要更多地命令帮助

  • 按 ?
Loading...