MyCAT监控命令

  • 内容
  • 评论
  • 相关

MyCAT管理监控命令
MyCAT自身有类似其他数据库的管理监控方式,通过Mysql命令行,登录管理端口(9066)执行相应的SQL,进行管理
mysql -utest -ptest -P9066
show @@help
此命令会显示所有的管理监控命令,另外请参照《Mycat命令行监控指南.docx》这个文档来深入了解。

监控命令汇总
“show @@help;”命令的运行结果如下所示:

mysql> show @@help;
+--------------------------------------+-----------------------------------+
| STATEMENT                            | DESCRIPTION                       |
+--------------------------------------+-----------------------------------+
| clear @@slow where datanode = ?      | Clear slow sql by datanode        |
| clear @@slow where schema = ?        | Clear slow sql by schema          |
| kill @@connection id1,id2,...        | Kill the specified connections    |
| offline                              | Change MyCat status to OFF        |
| online                               | Change MyCat status to ON         |
| reload @@config                      | Reload all config from file       |
| reload @@route                       | Reload route config from file     |
| reload @@user                        | Reload user config from file      |
| rollback @@config                    | Rollback all config from memory   |
| rollback @@route                     | Rollback route config from memory |
| rollback @@user                      | Rollback user config from memory  |
| show @@backend                       | Report backend connection status  |
| show @@cache                         | Report system cache usage         |
| show @@command                       | Report commands status            |
| show @@connection                    | Report connection status          |
| show @@connection.sql                | Report connection sql             |
| show @@database                      | Report databases                  |
| show @@datanode                      | Report dataNodes                  |
| show @@datanode where schema = ?     | Report dataNodes                  |
| show @@datasource                    | Report dataSources                |
| show @@datasource where dataNode = ? | Report dataSources                |
| show @@heartbeat                     | Report heartbeat status           |
| show @@parser                        | Report parser status              |
| show @@processor                     | Report processor status           |
| show @@router                        | Report router status              |
| show @@server                        | Report server status              |
| show @@session                       | Report front session details      |
| show @@slow where datanode = ?       | Report datanode slow sql          |
| show @@slow where schema = ?         | Report schema slow sql            |
| show @@sql where id = ?              | Report specify SQL                |
| show @@sql.detail where id = ?       | Report execute detail status      |
| show @@sql.execute                   | Report execute status             |
| show @@sql.slow                      | Report slow SQL                   |
| show @@threadpool                    | Report threadPool status          |
| show @@time.current                  | Report current timestamp          |
| show @@time.startup                  | Report startup timestamp          |
| show @@version                       | Report Mycat Server version       |
| stop @@heartbeat name:time           | Pause dataNode heartbeat          |
| switch @@datasource name:index       | Switch dataSource                 |
+--------------------------------------+-----------------------------------+
39 rows in set (0.00 sec)

常用监控命令
reload @@config;
该命令用于更新配置文件,例如更新schema.xml文件后在命令行窗口输入该命令,可不用重启即进行配置文件更新。

show @@database;
该命令用于显示MyCAT的数据库的列表,对应schema.xml配置文件的schema子节点

show @@datanode;
该命令用于显示MyCAT的数据节点的列表,对应schema.xml配置文件的dataNode节点
其中,“NAME”表示dataNode的名称;“dataHost”表示对应dataHost属性的值,即数据主机;“ACTIVE”表示活跃连接数;“IDLE”表示闲置连接数;“SIZE”对应总连接数量。

运行如下命令,可查找对应的schema下面的dataNode列表:
show @@datanode where schema = ?

show @@heartbeat;
  该命令用于报告心跳状态

show @@version;
该命令用于获取MyCAT的版本

show @@sql.slow;
该命令用于查询运行缓慢的SQL语句

《Mycat命令行监控指南.docx》

9066端口,用mysql命令行连接
Mysql–utest–ptest–P9066

显示后端物理库连接信息,包括当前连接数,端口
Show @@backend

Show @@connection
显示当前前端客户端连接情况,已经网络流量信息

Show @@threadpool
当前线程池的执行情况,是否有积压(active_count)以及task_queue_size,后者为积压的待处理的SQL,若积压数目一直保值,则说明后端物理连接可能不够或者SQL执行比较缓慢。

Show @@heartbeat
当前后端物理库的心跳检测情况,RS_CODE为1表示心跳正常

Show @@datanode
显示数据节点的访问情况,包括每个数据节点当前活动连接数(active),空闲连接数(idle)以及最大连接数(maxCon) size,EXECUTE参数表示从该节点获取连接的次数,次数越多,说明访问该节点越多。

Show @@processor
显示当前processors的处理情况,包括每个processor的IO吞吐量(NET_IN/NET_OUT)、IO队列的积压情况(R_QUEY/W_QUEUE),Socket Buffer Pool的使用情况BU_PERCENT为已使用的百分比、BU_WARNS为Socket Buffer Pool不够时,临时创新的新的BUFFER的次数,若百分比经常超过90%并且BU_WARNS>0,则表明BUFFER不够,需要增大,参见性能调优手册。

Show @@datasource
显示数据源的信息,是否是读写节点等。

show @@cache
显示缓存的使用情况,对于性能监控和调优很有价值
  MAX为缓存的最大值(记录个数),CUR为当前已经在缓存中的数量,ACESS为缓存读次数,HIT为缓存命中次数,PUT 为写缓存次数,LAST_XX为最后操作时间戳,比较重要的几个参数:CUR:若CUR接近MAX,而PUT大于MAX很多,则表明MAX需要增大,HIT/ACCESS为缓存命中率,这个值越高越好。

Kill @@connection
杀掉客户端的连接,参数为连接的ID值,通过show @@connection,可以展示当前连接到MyCAT的所有客户端进程,若某个进程异常,则可以通过该命令杀掉连接,如
KILL @@CONNECTION 1;