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;