1. 程式人生 > >littlebee's busy life

littlebee's busy life

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;