本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
資料庫負載
資料庫負載 (DB 載入) 會測量資料庫中工作階段活動的層級。 DBLoad
是「Performance Insights 見」中的關鍵指標,而 Performance Insights 每秒都會收集資料庫負載。
作用中的工作階段
資料庫工作階段代表應用程式與關聯式資料庫的對話。作用中工作階段是已提交工作給資料庫引擎且正在等待回應的連線。
工作階段在執行CPU或等待資源變為可用,以便它可以繼續時,會處於作用中狀態。例如,作用中的工作階段可能會等待頁面 (或區塊) 讀入記憶體,然後在從網頁讀取資料CPU時耗用。
平均作用中工作階段
平均作用中工作階段 (AAS) 是「Performance Insights」中DBLoad
度量的單位。它會測量資料庫上同時處於作用中狀態的工作階段數目。
每一秒,績效詳情都會取樣同時執行查詢的工作階段數目。針對每個作用中的工作階段,績效詳情會收集下列資料:
-
SQL聲明
-
工作階段狀態 (執行中CPU或等待中)
-
主機
-
使用者執行 SQL
Performance Insights 透AAS過將工作階段總數除以特定時段的範例數來計算。例如,下表顯示執行查詢的 5 個連續範例,間隔至少為 1 秒。
樣本 | 執行查詢的工作階段數目 | AAS | 算式 |
---|---|---|---|
1 | 2 | 2 | 工作階段總數 2 / 1 個樣本 |
2 | 0 | 1 | 工作階段總數 2 / 2 個樣本 |
3 | 4 | 2 | 工作階段總數 6 / 3 個樣本 |
4 | 0 | 1.5 | 工作階段總數 6 / 4 個樣本 |
5 | 4 | 2 | 工作階段總數 10 / 5 個樣本 |
在上述範例中,時間間隔的資料庫負載為 2 AAS。此測量表示在採集 5 個樣本的間隔期間內,於任何特定時間平均有 2 個工作階段處於作用中。
平均作用中執行數
平均作用中執行次數 (AAE) 每秒與。AAS若要計算AAE,Performance Insights 會將查詢的總執行時間除以時間間隔。下表顯示前面資料表中相同查詢的AAE計算方式。
經過時間 (秒) | 總執行時間 (秒) | AAE | 計算 |
---|---|---|---|
60 | 120 | 2 | 120 執行秒 / 60 秒經過 |
120 | 120 | 1 | 120 執行秒 / 120 秒經過 |
180 | 380 | 2.11 | 380 執行秒/180 秒經過 |
240 | 380 | 1.58 | 380 執行秒/240 秒經過 |
300 | 600 | 2 | 600 執行秒 / 300 秒經過 |
在大多數情況下AAS,AAE查詢的和大致相同。不過,由於計算的輸入是不同的資料來源,所以計算通常會略有不同。
維度
db.load
指標與其他時間序列指標不同,因為您可以將它分為名為維度的子元件。您可以將維度視為 DBLoad
指標不同特性的「配量依據」類別。
診斷效能問題時,下列維度通常最實用:
如需 Aurora 引擎維度的完整清單,請參閱資料庫負載依維度配量。
等待事件
wait 事件會導致SQL陳述式等待特定事件發生,然後才能繼續執行。等待事件指出工作在何處受阻,是資料庫負載的重要維度或類別。
每個使用中的工作階段都在執行CPU或等待中。例如,CPU當工作階段搜尋記憶體以尋找緩衝區、執行計算或執行程序程式碼時,會耗用這些工作階段。當工作階段不耗用時CPU,它們可能正在等待記憶體緩衝區變為可用、要讀取的資料檔案或要寫入的記錄檔。階段作業等待資源的時間越長,在CPU.
調校資料庫時,您通常會嘗試查明工作階段正在等待的資源。例如,兩個或三個等待事件可能佔資料庫負載的 90%。此量值表示作用中工作階段平均花最多時間等待少量資源。如果您可以找出這些等待的原因,就可以嘗試解決方案。
等待事件依據資料庫引擎而有所差異:
-
如需 Aurora My 常見等待事件的清單SQL,請參閱Aurora 我的SQL等待事件。若要了解如何使用這些等待事件來調校,請參閱調校 Aurora MySQL。
-
如需所有 My SQL 等待事件的相關資訊,請參閱我SQL的文件中的等候事件摘要表
。 -
如需 Aurora 波斯特雷的常見等待事件清單SQL,請參閱Amazon Aurora 郵政SQL等待事件。若要了解如何使用這些等待事件來調校,請參閱調整與等待事件 Aurora 波斯特 SQL。
-
如需所有 Postgre SQL 等待事件的相關資訊,請參閱 Postgre SQL 文件中的統計資料收集器 > 等待事件表
。
頂部 SQL
等待事件顯示瓶頸時,頂端SQL會顯示哪些查詢對資料庫負載的貢獻最大。例如,許多查詢目前可能正在資料庫上執行,但單一查詢可能會耗用 99% 的資料庫負載。在此情況下,高負載可能表示查詢發生問題。
根據預設,Performance Insights 主控台會顯示對資料庫負載有貢獻的常用SQL查詢。主控台也會顯示每個陳述式的相關統計資料。若要診斷特定陳述式的效能問題,您可以檢查其執行計劃。