本文介紹了如何查看會話診斷信息,包括會話的統(tǒng)計信息、會話狀態(tài)等。
查看會話統(tǒng)計信息
登錄 OceanBase 管理控制臺。
在左側導航欄,選擇 自治服務 > 診斷中心。
在 實例詳情 區(qū)域,單擊目標實例名稱。
系統(tǒng)自動跳轉到診斷中心。
在左側導航欄,單擊 會話診斷。
在 統(tǒng)計信息 區(qū)域,您可以查看數(shù)據(jù)庫當前會話統(tǒng)計信息和租戶會話詳情,包括活躍會話和空閑會話。您也可以選擇租戶后,通過 租戶會話、會話統(tǒng)計、死鎖檢測、行鎖分析 四個頁簽查看對應詳情。
查看租戶會話
在 租戶會話 頁簽:
勾選 僅查看活躍會話,在會話列表中查看活躍會話信息。
勾選 按 SQL ID 聚合會話,將相同 SQL ID 的會話進行匯總展示。
說明按 SQL ID 聚合可以幫助您分析不同 SQL ID 的流量和消耗對比,確認系統(tǒng)資源消耗方。
通過 用戶 和 數(shù)據(jù)庫名 對會話進行篩選。
通過 會話 ID、SQL 、來源 和 目標端 對會話進行搜索。
通過 執(zhí)行時間 對會話進行排序。
單擊 SQL 文本,跳轉至 SQL 執(zhí)行詳情 頁面。
對于滿足如下條件之一的 SQL,SQL 執(zhí)行詳情 頁面會顯示算子執(zhí)行計劃及算子執(zhí)行詳情,如下圖所示:
使用了 MONITOR Hint 的 SQL
使用了與并行執(zhí)行相關 Hint 的 SQL
慢 SQL(執(zhí)行時間超過 5s)
說明OBServer 必須為 V4.0 及以上版本。
對于快速執(zhí)行的算子,可能不會顯示統(tǒng)計信息。
關于 MONITOR Hint,請參見 MONITOR Hint;關于與并行執(zhí)行相關的 Hint,請參見 與并行執(zhí)行相關的 Hint。
對于其他 SQL,SQL 執(zhí)行詳情 頁面僅顯示算子執(zhí)行計劃。
關閉會話。
關閉一條對話:單擊該會話后操作列下的 關閉會話。
關閉多條對話:勾選目標會話前的復選框,然后單擊右側的 批量關閉會話。
關閉所有對話:
單擊 會話 ID 左側的復選框,然后單擊右側的 批量關閉會話。
任意勾選一條會話,單擊上方的 全選,然后單擊右側的 批量關閉會話。
在彈出的確認框中,單擊 確定。
查看會話統(tǒng)計
在 會話統(tǒng)計 頁簽:
您可以從用戶、訪問來源和數(shù)據(jù)庫維度分別查看或導出當前集群的會話活躍數(shù)和會話總數(shù)。
單擊右上方 10 秒 SQL 分析,您可以從 SQL 類型、用戶、來源、數(shù)據(jù)庫 維度查看 10 秒內租戶內 SQL 執(zhí)行情況。
查看死鎖檢測
在 死鎖檢測 頁簽:
首次使用死鎖檢測功能時,單擊 開啟死鎖檢測。啟用后,系統(tǒng)將實時檢測并處理死鎖事件,這將消耗 2% 左右的性能。請根據(jù)您的集群狀況謹慎選擇是否啟用此功能。
說明死鎖檢測功能僅支持 OceanBase 4.x 版本。
開啟死鎖檢測后,系統(tǒng)將診斷該集群租戶中是否存在死鎖,并在 死鎖詳情 區(qū)域提供診斷結果。該結果會保留 7 天。
單擊右上角 關閉死鎖檢測 或 刷新 ,關閉死鎖檢測功能或刷新死鎖檢測詳情。
查看行鎖分析
在 行鎖分析 頁簽:
您可以查看鎖涉及的行信息和會話數(shù)量。
選擇目標租戶后,系統(tǒng)會展示該租戶的行鎖詳細信息。
若需釋放持有鎖的會話,您可以關閉該會話。在關閉前,請確認該會話以及其上正在運行的業(yè)務 SQL 可以安全終止。
行鎖分析是一項實時查詢功能,僅展示等待鎖時間超過 20 ms 的行鎖及其相關會話信息。此功能僅支持 OceanBase 4.2 及以上版本。
行鎖信息可能存在延遲。若未顯示持有鎖的會話 ID,說明該事務可能已經完成。