全部產品
Search
文件中心

Database Autonomy Service:其他鎖分析

更新時間:Nov 12, 2024

本文介紹如何使用DAS鎖分析功能對資料庫進行中繼資料鎖等待分析和事務阻塞分析。

說明

文中所示圖片中的資料為測試案例資料,實際使用過程中,請以實際資料參數為準,包括線程ID、SQL語句等。

前提條件

鎖類型

  • 中繼資料鎖分析

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

  • 事務阻塞分析

    重要

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

    • 分析資料:根據information_schema.processlistinformation_schema.innodb_trx,以及以下表中資料,分析事務阻塞關係,並產生相應的關係圖。

      • RDS MySQL 5.6、5.7:information_schema.innodb_lock_waits

      • PolarDB MySQL 5.7:information_schema.innodb_lock_waits

      • RDS MySQL和PolarDB MySQL 8.0:performance_schema.data_lock_waits

    • 參數設定:對於RDS MySQL 8.0和PolarDB MySQL版 8.0執行個體,需要開啟performance_schema參數。修改資料庫執行個體參數:

觸發方式

鎖分析-觸發式分析

建立分析

  1. 登入DAS控制台

  2. 在左側導覽列中,單擊執行個體監控

  3. 找到目標執行個體,單擊執行個體ID,進入目標執行個體詳情頁。

  4. 在左側導覽列中,單擊鎖分析,在鎖分析頁面中其他鎖分析項下,點擊建立分析,發起其他鎖分析。

    image.png

查看詳情

單擊診斷結果前的image可以查看中繼資料鎖等待和事務阻塞分析相關資訊。image.png

事務鎖詳情

點擊列表中事務鎖操作列的查看詳情,會顯示對應事務鎖詳細資料的兩種查看方式:

  • 列表:在事務鎖詳情列表可以查看被阻塞事務的詳細資料。image

  • 視圖:以事務等待關係可視化的形式展示鎖詳情,點擊對應的會話圖塊可以在下方查看對應會話的詳細資料。image.png

中繼資料鎖詳情

點擊列表中中繼資料鎖操作列的查看詳情,會顯示對應中繼資料鎖詳細資料的視圖。在視圖中,點擊對應的會話圖塊可以在下方查看對應會話的詳細資料,同時支援KILL相關會話的操作。image

結合SQL洞察和審計分析

可疑會話處於Sleep狀態沒有SQL資訊,可能是該會話開啟了事務,相關SQL已經執行結束,但事務未提交或者復原,此時可以在目標執行個體左側導覽列中,單擊SQL洞察和審計,在審計頁面點擊開啟進階查詢,填入可疑會話的線程ID,查詢分析相關會話執行過的SQL情況。如樣本中的事務未提交,導致鎖等待。image.png

執行個體會話-自動式分析

操作步驟

  1. 登入DAS控制台

  2. 在左側導覽列中,單擊執行個體監控

  3. 找到目標執行個體,單擊執行個體ID,進入目標執行個體詳情頁。

  4. 在左側導覽列中,單擊執行個體會話,在會話管理頁面中會自動觸發其他鎖分析,分析的結果會顯示在頁面右上方。image.png

執行個體會話頁面查看詳情

執行個體會話中,當有鎖等待時,點擊查看詳情,在抽屜頁可以分別查看事務鎖(如有)、中繼資料鎖(如有)。image

事務鎖詳情

點擊事務鎖列表中操作列的查看詳情,可以查看對應事務鎖詳細資料的兩種查看方式(列表、視圖),查看方式與鎖分析-觸發式分析中一致,請參見觸發式分析-事務鎖詳情

image.png

中繼資料鎖詳情

點擊中繼資料鎖列表中操作列的查看詳情,可以查看對應中繼資料鎖詳細資料的視圖,查看方式與鎖分析-觸發式分析中一致,詳情請參見觸發式分析-中繼資料鎖詳情

image.png

鎖分析頁面查看詳情

在鎖分析頁面,單擊診斷結果前的image可以查看到歷史在執行個體會話頁面自動發起的其他鎖分析統計資訊。對應的查看方式與鎖分析-觸發式分析中一致,請參見觸發式分析-查看詳情image.png

相關文檔