dble運維命令彙總

chenfeng發表於2021-12-31

一.基本資訊

檢視所有可用的管理命令

show @@help


顯示dble記憶體使用率,執行時長和字符集等:

show @@server


檢視 dble 配置了哪些邏輯庫:

show @@database


檢視邏輯分片節點資訊:

show @@shardingNode

備註:schema_exists 顯示的資訊不是實時獲取的,只表示載入配置時刻,物件是存在的。


檢視 dble 最近接收到的1024條SQL語句:

show @@sql

備註:

每5s清理一次,可以充當下 general_log。


檢視 SQL 執行頻次:

show @@sql.high

備註:執行頻次高的和響應延遲慢的都是我們要重點關注的


按使用者維度,顯示讀寫次數和比例:

show @@sql.sum.user

備註:

瞭解負載情況,才好有針對性的最佳化。讀多寫少,讀寫分離;寫多讀少,最佳化io或熱點拆分。



按使用者維度,顯示讀寫次數和比例:

show @@sql.sum.user

備註:瞭解負載情況,才好有針對性的最佳化。讀多寫少,讀寫分離;寫多讀少,最佳化io或熱點拆分。


按表維度,顯示讀寫次數和比例:

show @@sql.sum.table

備註:哪個表是熱點一目瞭然。


檢視 SQL 執行時間最慢的 top10 :

show @@sql.slow

備註:

沒開慢日誌,也不影響你快速定位慢 SQL。


檢視 dble 配置引數資訊:

show @@sysparam

備註:上報問題前,先把引數配置蒐集齊了。


檢視白名單設定:

show @@white

備註:控制使用者通行。


檢視當前後端例項的 gtid_executed:

show @@binlog.status

備註:叢集的⼀致性備份就靠它。


檢視指定表使用的分片演算法:

show @@algorithm where schema='testdb'and table='sbtest1'

備註:比看xml配置檔案更方便


檢視指定表的邏輯分片節點:

show @@shardingNodes where schema='testdb' and table='sbtest1'


檢視配置檔案 reload 時間:

show @@reload_status


檢視使用者列表:

show @@user

備註:是否為管理使用者,是否為只讀使用者,使用者的最大連線數限制都一目瞭然。


檢視前端訪問使用者的許可權資訊:

show @@user.privilege


檢視指定表所對應邏輯分片的行數:

show @@data_distribution where table ='testdb.sbtest1'

備註:由此可判斷資料分片的分佈傾斜。


檢視 dble 對於後端例項配置的連線引數:

show @@connection_pool


二.故障診斷


檢視後端資料庫例項的心跳檢測情況:

show @@heartbeat

備註:

需開啟心跳檢測功能,RS_CODE 為 OK 表示心跳正常,RS_MESSAGE 顯⽰⼼跳語句的反饋資訊,快速診斷 dble 到後端資料庫例項鏈路連通性。


檢視 dble 到後端資料庫例項的連線資訊:

show @@backend


檢視當前活躍的前端連線資訊,網路絡流量資訊:

show @@connection

備註:

可用來診斷前端的連線會話。


檢視前端連線接收到的 SQL 資訊:

show @@connection.sql


檢視當前活躍的後端連線:

show @@session


檢視 dble 內部執行緒負載情況:

show @@thread_used

備註:若觀測到執行緒負載⽐例很⾼,說明執行緒負載飽和,可適當調⼤執行緒數量,參考dble效能觀測


BussinessExecutorX

前端業務(應⽤客⼾端)處理執行緒,主要處理前端請求的解析,sql 解析路由,下發查詢到 mysql 例項等

bootstrap.cnf 配置⽂件的 ProcessorExecutor 引數控制其數量



backendBusinessExecutorX

後端業務(資料庫)處理執行緒,主要處理後端 mysql 詢結果的返回解析,結果聚合,併發回結果到 client

bootstrap.cnf 配置檔案的 backendProcessorExecutor 引數控制其數量

_NIO_REACTOR_FRONT_X

負責前端(應用客戶端)請求收發的執行緒,再把資料交給 BussinessExecutor 處理

bootstrap.cnf 配置檔案的 processors 引數控制其數量

$_NIO_REACTOR_BACKEND_X

負責後端(資料庫)請求收發的執行緒,再把資料交給 backendBusinessExecutor 處理

bootstrap.cnf 配置⽂件的 backendProcessors 引數控制其數量


啟用dble general_log:

enable @@general_log

備註:想了解前端傳送些什麼 SQL ,就用它了,有開銷不宜長期啟用。



三.維護操作

殺掉客戶端的連線:

kill @@connection

備註:引數為 show @@connection 顯⽰的 FRONT_ID 值


過載配置檔案:

reload @@config_all

備註:可在不停 dble 服務的情況下,修改 db.xml、user.xml、sharding.xml。


檢查下配置檔案,看看有哪些潛在問題:

dryrun


檢查表定義是否一致:

check full @@metadata

備註:該操作不是實時的⼀致性檢查,是最近⼀次載入配置時的⼀致性,執⾏命令時不會向後端例項傳送請求。

consistent_in_sharding_nodes 表示分片節點之間的一致性,1代表一致

consistent_in_memory 表示dble 快取中與後端例項的一致性,1代表一致


檢查全域性表一致性:

check @@global

備註:執⾏命令時會向後端例項的每個邏輯分片傳送 checksum table 命令,關注 DISTINCT_CONSISTENCY_NUMBER ,

若大於1表示有不只一種檢查結果,說存在全域性表不一致的情況。


把準備匯入 dble 叢集的大表,按邏輯分片節點拆分成多個 sql 檔案,拆分後可以直接並行匯入後端例項:

split src dest [-sschema] [-r500] [-w500] [-l10000] [--ignore] [-t2]


暫停邏輯分片的流量:

pause @@shardingNode = 'dn1' and timeout = 10000;

備註:

可在分⽚擴容遷移過程中使⽤。擴容基本流程:


克隆新的分⽚節點

修改 schema.xml 更新 datanode 與新的分⽚節點關係

暫停分⽚訪問 pause @@shardingNode = 'dn1' and timeout= 10;

補齊該分片增量 binlog日誌

載入生效配置 reload @@config_all

resume 恢復流量

清理掉原例項中已擴容分片和新例項中未擴容分片的資料




來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2850360/,如需轉載,請註明出處,否則將追究法律責任。

相關文章