TiDB 4.0 新特性前瞻(四)圖形化診斷界面

某天,PongHat 公司 DBA 小王同窗收到了業務側的反饋:」小王啊,咱們數據庫查詢如今忽然變得很慢,業務已經緊急停了,能不能看下是什麼狀況?「html

小王同窗身經百戰、見得多了,熟練地輸入了 TiDB Grafana 地址,點進 TiDB 監控面板,看到 SQL 執行時間確實忽然變得很長,以下所示:sql

sql-duration

小王根據經驗開始排查。他首先從監控上點開 TiKV 節點 CPU 佔用的監控——CPU 分佈很均勻,但各個 TiKV 的 Coprocessor 佔用率都很高。數據庫

tikv-coprocessor

小王知識水平很高,馬上意識到,多是由於有大查詢!因而他 SSH 到各個 TiDB 機器上,進入日誌目錄查看 slow log,確實看到了一波可疑的 SQL,它們都執行了很長的時間。服務器

slow-log

小王挑了幾個 SQL 嘗試復現,但都未能成功,執行得很快。原來這些 SQL 只是受到影響的 SQL,集羣總體佔滿了致使它們運行緩慢。session

翻慢日誌翻得即將頭暈眼花之際,小王終於找到一條 SQL 如今執行時間也須要好久。他很是 excited,使用 EXPLAIN 觀察了一下 SQL 的計劃,最終發現原來是有人誤操做刪除了一個索引,致使 TiDB 走了全表掃描。增長索引後,問題解決。幸虧小王對診斷 TiDB 問題經驗豐富,匯聚多個線索、結合不一樣工具最終分析出了問題的根源,若是是新手確定就跪了。函數

能不能查問題更方便一些?

TiDB 4.0 新提供 TiDB Dashboard 圖形化界面,內置各類有力工具方便 DBA 同窗診斷、監視和管理集羣。工具

tidb-dashboard

以前的《 拍個 CT 診斷集羣熱點 》一文中介紹的 Key Visualizer 即是 TiDB Dashboard 包含的工具之一,它能夠用於觀察業務模式的變化、快速直觀的查看熱點讀寫狀況。除了 Key Visualizer 之外,TiDB Dashboard 還包含其餘工具。接下來讓咱們來看一下 TiDB Dashboard 都有哪些工具能夠緩解上文小王同窗的燃眉之急(咱們後續還會對這些功能點進行詳細介紹,敬請期待)。性能

集羣診斷報告

選擇一個時間段,TiDB Dashboard 會生成一份診斷報告,直接告訴你集羣中有什麼已知的問題。也能夠選擇兩個對比時間段,生成對比報告。測試

diagnose

集羣診斷報告是基於一系列預設規則進行的,會以配置、SQL 執行時間、各類監控、硬件狀況等做爲依據。該功能目前尚處於很是早期的階段,涵蓋的規則還在不斷持續完善中。咱們但願它能成長爲一個 DBA 得力的助手,讓沒有經驗的 DBA 同窗也能擁有相關知識,快速地發現常見問題原因。網站

在本文開頭的案例中,小王同窗可使用此工具,生成緩慢時候與正常時候的對比報告。報告中直接涵蓋以前正常運行、如今則顯著變慢了的 SQL,幫助小王同窗快速抓到真兇。

compare-diagnose

SQL 語句分析(Statements)

選擇一個時間段,SQL 語句分析功能能夠展現時間段內各個類型 SQL 的總時間佔比、單條時間佔比、掃的數據量等信息。在 Statements 中,僅僅是參數值不一樣、其餘部分相同的 SQL 語句會被合併顯示在一塊兒,使用者無需擔憂他們成爲一堆零碎的 SQL 語句難以系統性地分析。

sql-statements

若是小王同窗使用 Statements 功能,選擇時間段後,就能夠直接按總執行時間或平均執行時間找到「肇事」 SQL。

日誌搜索和導出

使用日誌搜索和導出功能,能夠簡單地經過輸入關鍵字、選擇時間範圍、選擇日誌級別、選擇搜索組件這幾個步驟,批量地在 TiDB、TiKV 和 PD 節點上搜索和導出日誌。小王同窗不再須要手工 SSH 一臺一臺登陸服務器搜日誌了,一切只需點幾下鼠標。

log

節點性能分析(Profiling)

該功能用於直接抓取 TiDB、TiKV 或 PD 節點的火焰圖狀況。

profiling

火焰圖直觀顯示了進程在抓取時間內花在各個內部函數上的時間佔比,供高階用戶更好地知道節點當前主要在作什麼事情。

使用 TiDB Dashboard

TiDB Dashboard 在 TiDB 4.0 集羣的 PD 組件中直接內置,無需額外部署。目前 4.0 版本還未正式發佈,想要在本地快速體驗新版 TiDB 的同窗可使用咱們新推出的 TiDB 快速部署工具 TiUP(可在官方網站 https://tiup.io 進一步瞭解詳情)。

使用 TiUP 能夠一鍵在本地啓動 nightly 版本的測試集羣,支持 Mac 和 Linux:

$ tiup playground nightly --monitor

啓動測試集羣后,訪問如下地址便可體驗 TiDB Dashboard:

http://127.0.0.1:2379/dashboard

對於極端關注集羣穩定性的用戶,也能夠選擇獨立部署 TiDB Dashboard,本文限於篇幅就不進行詳細介紹,能夠閱讀 TiDB 電子書《TiDB in Action》的 TiDB Dashboard 章節 瞭解詳情(後續會持續更新),也歡迎你們反饋意見,掃描下方二維碼,添加 TiDB Robot 爲好友並回復「新特性」便可入羣交流:

qr-code

延展閱讀

TiDB 4.0 新特性前瞻(一)拍個 CT 診斷集羣熱點問題

TiDB 4.0 新特性前瞻(二)白話「悲觀鎖」

TiDB 4.0 新特性前瞻(三)不再用擔憂個人 SQL 忽然變慢了

相關文章
相關標籤/搜索