dble運維命令彙總
一.基本資訊
檢視所有可用的管理命令
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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Redis日常運維-常用命令彙總Redis運維
- 運維人員常用的Linux命令彙總運維Linux
- Linux運維常用的20個命令彙總!Linux運維
- Linux 運維必備 150 個命令彙總Linux運維
- Linux基本運維彙總Linux運維
- 運維人員最常用150個Linux命令彙總運維Linux
- 運維監控指標彙總運維指標
- Linux運維寶典:最常用的150個命令彙總Linux運維
- Linux 運維人最常用 150 個命令彙總! 收藏了!Linux運維
- 運維人員必須要了解熟知的Linux命令彙總運維Linux
- Vagrant box 命令彙總彙總
- MongoDB日常運維-06副本集搭建錯誤彙總MongoDB運維
- 高薪運維經典企業版面試題彙總高薪運維面試題
- 自動化運維利器Ansible要點彙總運維
- artisan命令彙總
- vagrant命令彙總
- go 命令彙總Go
- ClickHouse 命令彙總
- Git命令彙總Git
- VI命令彙總
- Find命令總彙
- rman 命令彙總
- CMD命令 彙總
- RMAN命令彙總
- git 命令彙總Git
- 致遠OA 運維入門影片教程資料彙總運維
- HBase管理命令彙總
- gstreamer命令彙總
- Linux運維領域的開源工具體系彙總Linux運維開源工具
- 運維監控工具之pigoss bsm問題彙總(四)運維Go
- 【命令】運維常用命令運維
- docker 快速運維命令Docker運維
- Linux 運維必備的 40 個命令總結Linux運維
- Linux運維筆記-日常操作命令總結(2)Linux運維筆記
- Linux運維筆記-日常操作命令總結(3)Linux運維筆記
- Linux運維筆記-日常操作命令總結(1)Linux運維筆記
- Linux運維命令重要嗎?運維入門Linux運維
- Redis 命令練習彙總Redis