全部產品
Search
文件中心

PolarDB:鎖分析

更新時間:Dec 27, 2024

PolarDB MySQL版的一鍵診斷融合了DAS部分功能,您可以通過其中的鎖分析直觀地查看和分析資料庫最近一次發生的死結。

功能簡介

鎖分析功能支援對資料庫執行個體進行多維度死結分析、事務阻塞分析、中繼資料鎖等待分析。

重要

全量死結分析其他鎖分析功能需要滿足以下條件:

  1. 資料庫執行個體為PolarDB MySQL版

  2. 要開通DAS經濟版或DAS企業版。DAS經濟版和DAS企業版支援的地區請參見各個版本支援的資料庫和地區。開通DAS經濟或企業版請參見企業版

  • 最近死結分析:DAS基於SHOW ENGINE INNODB STATUS返回的最近一次死結日誌進行分析。如果發生過多次死結,DAS只會對最近一次死結進行分析。

  • 全量死結分析:DAS定時對錯誤記錄檔進行分析,解析其中的死結資訊,並進行全面的死結分析。同時,DAS支援查看指定時間範圍內的死結趨勢以及各個死結的詳細資料。

  • 其他鎖分析:DAS根據information_schemaperformance_schema相關資料,即時分析資料庫執行個體當前會話中的中繼資料鎖和事務阻塞情況。

    • 中繼資料鎖分析:DAS根據information_schema.processlist等的資料,推導鎖等待關係,並產生相應的關係圖。

    • 事務阻塞分析:DAS根據information_schema.processlistinformation_schema.innodb_trx,以及information_schema.innodb_lock_waits(MySQL 5.6和5.7使用該資料)和performance_schema.data_lock_waits(MySQL 8.0使用該資料)分析事務阻塞關係,並產生相應的關係圖。

      說明

      事務阻塞分析功能不支援PolarDB MySQL版 5.6執行個體。

資料庫執行個體參數限制

目標資料庫必須設定相應的參數後,才能使用鎖分析的對應功能。

鎖分析功能

涉及的資料庫執行個體參數

最近死結分析

開啟innodb_deadlock_detect參數。

全量死結分析

  • 開啟innodb_deadlock_detect參數。

  • 開啟innodb_print_all_deadlocks參數,且設定log_error_verbosity=3

其他鎖分析中的事務阻塞分析

對於PolarDB MySQL版 8.0執行個體,需要開啟performance_schema參數。

修改資料庫執行個體參數:

PolarDB MySQL版請參見設定叢集參數和節點參數

操作步驟

  1. 登入PolarDB控制台

  2. 集群列表頁,單擊目的地組群ID。

  3. 在左上方,選擇叢集所在地區。

  4. 在左側導覽列中,選擇诊断与优化 > 一键诊断

  5. 單擊鎖分析頁簽。

  6. 鎖分析頁面,從當前節點列表中,選擇目標執行個體ID後,單擊立即診斷

  7. 在新產生的死結診斷列表右側,單擊詳情欄中的查看詳情

    說明

    僅當發現死結時,才可以單擊查看詳情

  8. 鎖分析對話方塊中,查看死結診斷結果的詳情列表,您也可以單擊查看死結日誌,查看最近一次的死結日誌詳情。