本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 CloudWatch Database Insights 分析 Amazon Aurora PostgreSQL 的鎖定樹
若要對鎖定造成的效能問題進行故障診斷,您可以使用下列方法,透過 CloudWatch Database Insights 分析 Amazon Aurora PostgreSQL 資料庫的鎖定樹狀目錄。
依下拉式清單分割 – 在資料庫負載圖表中選擇封鎖物件、封鎖工作階段或封鎖 SQL 維度,以檢視不同的最上層封鎖程式如何隨時間對資料庫負載做出貢獻。使用資料庫負載圖表,您可以分析頂端封鎖程式是否保持不變或經常變更。然後,您可以對封鎖程式進行故障診斷。
鎖定分析索引標籤 – 選擇資料庫載入分析,然後選擇鎖定分析索引標籤,以檢視資料庫中鎖定爭用的相關資訊。
注意
CloudWatch Database Insights 支援所有 Aurora PostgreSQL 版本的鎖定分析。若要分析鎖定樹狀目錄,您必須啟用 Database Insights 進階模式。如需如何開啟進階模式的詳細資訊,請參閱開啟 Amazon Aurora 的資料庫洞見進階模式和開啟 Amazon Relational Database Service 的資料庫洞見進階模式
鎖定分析索引標籤提供資料庫鎖定爭用的相關資訊。鎖定樹視覺化顯示不同工作階段的鎖定請求之間的關係和相依性。
Database Insights 每 15 秒擷取一次快照。快照顯示某個時間點的資料庫鎖定資料。
注意
當 CloudWatch 偵測到高鎖定時,CloudWatch 會顯示鎖定分析索引標籤的高鎖定偵測到橫幅。如果 CloudWatch 連續 15 分鐘每 15 秒拍攝鎖定快照,CloudWatch 會偵測高鎖定。
樹狀目錄中的每個節點代表特定的工作階段。父節點是封鎖其子節點的工作階段。
若要分析鎖定樹,請使用下列程序。
分析鎖定樹
登入 AWS Management Console ,並在 https://https://console.aws.amazon.com/cloudwatch/
開啟 CloudWatch 主控台。 選擇 Insights。
選擇 Database Insights。
選擇資料庫執行個體檢視。
選擇資料庫執行個體。
選擇資料庫負載分析索引標籤。
選擇鎖定分析索引標籤。
若要檢視資料庫執行個體的鎖定資料,請選擇 1 天或更少的期間。
選擇快照視窗。根據預設, Database Insights 會選擇具有最多封鎖工作階段的快照視窗。
若要檢視快照的鎖定資料,請選擇 Database Insights 拍攝快照的時間。
若要展開鎖定樹狀目錄,請選擇工作階段 ID 旁的箭頭。
鎖定快照資料
Database Insights 為每個鎖定請求提供以下資訊。若要檢視預設未啟用的資料欄,請選擇鎖定樹狀目錄資料表的設定圖示,並啟用其他資料欄。
欄名稱 | 定義 | 預設資料欄 | 備註 |
---|---|---|---|
|
唯一的工作階段識別符。 |
是 |
|
|
此後端的 PID。 |
是 |
|
|
此鎖定封鎖的工作階段數目。 |
是 |
|
|
此工作階段執行的最後一個查詢。對於封鎖程式,它可能不是保留封鎖鎖定的查詢。 |
是 |
|
|
如果後端目前正在等待,則等待事件名稱,否則值為 NULL。 |
是 |
|
|
自此鎖定開始以來的時間 (以秒為單位)。 |
是 |
|
|
封鎖工作階段所保留的鎖定模式。 |
否 |
|
|
等待工作階段請求的鎖定模式。 |
否 |
|
|
連接到此後端的應用程式名稱。 |
否 |
|
|
封鎖交易的開始時間,如果沒有作用中的交易,則為 null。 |
否 |
|
|
等待中的使用者工作階段開始等待此鎖定的時間,如果保留鎖定則為 null。 |
否 |
|
|
使用者工作階段啟動的時間。 |
否 |
|
|
後端的狀態。 |
否 |
|
|
此工作階段正在等待的等待事件類型。 |
否 |
|
|
上次查詢開始的時間。 |
否 |
|
|
登入此後端的使用者名稱。 |
否 |
|
|
連線用戶端的主機名稱,如反向 DNS 查詢 所回報 |
否 |
|
|
用戶端用於與此後端通訊或使用 Unix 通訊端 |
否 |
|
|
連接到此後端之用戶端的 IP 地址。如果此欄位為 null,則表示用戶端是透過伺服器機器上的 Unix 通訊端連接,或者這是自動清空等內部程序。 |
否 |
|
|
如果保留鎖定,則值為 true,如果等待鎖定,則值為 false。 |
否 |
|
|
頁面中鎖定的目標元數,如果目標不是元組,則為 null。 |
否 |
|
|
關聯中鎖定的目標頁碼,如果目標不是關聯頁或元組,則為 null。 |
否 |
|
|
鎖定的目標交易 ID,如果目標不是交易 ID,則為 null。 |
否 |
|
|
鎖定目標關係的 OID,如果目標不是關係或關係的一部分,則為 null。 |
否 |
|
|
鎖定目標在其系統目錄中的 OID,如果目標不是一般資料庫物件,則為 null。 |
否 |
|
|
鎖定目標所在的資料庫 OID,如果目標是共用物件則為零,如果目標是交易 ID,則為 null。 |
否 |
|
|
鎖定目標所在的資料庫名稱。 |
否 |
|
|
可鎖定物件的類型:關聯式、延伸式、凍結式、頁面、元組、交易式、Virtualxid、質譜、物件、使用者鎖定、諮詢或套用交易。 |
否 |
|
|
如果使用快速路徑取得鎖定,則值為 true,如果從主鎖定資料表取得,則為 false。 |
否 |
|
如需 pg_stat_activity
和 pg_locks
檢視中值的詳細資訊,請參閱 PostgreSQL 文件中的下列主題。