運用 AI 輔助功能排解查詢速度緩慢的問題

本文說明如何使用 AlloyDB for PostgreSQL 的 AI 輔助功能,排解 AlloyDB 中查詢速度緩慢的問題。您可以運用 AlloyDB 和 Gemini Cloud Assist 的 AI 輔助功能進行調查、分析、取得建議,並最終實作這些建議,以最佳化 AlloyDB 中的查詢。

事前準備

如要透過 AI 輔助功能排解查詢速度緩慢的問題,請按照下列步驟操作:

  1. 透過 AI 輔助的疑難排解機制查看限制
  2. 啟用 AI 輔助的疑難排解機制

必要角色和權限

如要瞭解使用 AI 輔助功能排解查詢緩慢問題所需的角色和權限,請參閱「使用 AI 監控及排解問題」。

使用 AI 輔助功能

如要使用 AI 輔助功能排解慢速查詢問題,請前往 Google Cloud 控制台中的 AlloyDB 執行個體查詢洞察資訊主頁。

熱門查詢表格

您可以在「查詢洞察」資訊主頁的「熱門查詢資料表」部分,使用 AI 輔助功能開始排解查詢速度緩慢的問題。

AlloyDB 可協助您找出在特定偵測時間範圍內,執行速度低於平均值的查詢。在「查詢洞察」資訊主頁中選取時間範圍後,AlloyDB 會使用所選時間範圍結束前 24 小時的偵測時間週期,檢查是否有任何查詢的執行速度低於平均值。

當您調整「資料庫負載」圖表的時間範圍篩選器,或是任何其他篩選器 (例如資料庫或使用者) 時,AlloyDB 會重新整理「熱門查詢」表格,並根據新的查詢清單和更新的偵測時間範圍,重新執行異常偵測。

查詢洞察資料庫負載圖表

AlloyDB 偵測到異常狀況時,只要點按「分析延遲」,AlloyDB 就會對查詢執行基準效能分析。AlloyDB 會將異常期間的指標對應至緩慢查詢,並找出可能導致效能緩慢的情況。如果 AlloyDB 發現潛在情況,就會讓您查看相關證據。最後,AlloyDB 會提供建議,協助您修正及提升查詢效能。

如要排解「查詢洞察」資訊主頁「熱門查詢」表格中的緩慢查詢,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Clusters」(叢集) 頁面。
  2. 前往「Clusters」(叢集) 頁面
  3. 在叢集和執行個體清單中,按一下執行個體。
  4. 按一下「查詢洞察」
  5. 在「已執行的查詢」圖表中,使用「時間範圍」篩選器選取 1 小時、6 小時、1 天、7 天、30 天或自訂範圍。
  6. 在「熱門查詢」表格中,查看資料庫的查詢清單。
  7. 如果查詢的「平均執行時間」旁邊顯示「分析延遲時間」,表示 AlloyDB 偵測到查詢效能異常。AlloyDB 會在所選時間範圍結束前的 24 小時內,檢查是否有異常狀況。
  8. 按一下「分析延遲」,即可開始使用 AI 輔助功能排解問題。 系統會產生「Analyzing query latency」(分析查詢延遲時間) 頁面。
  9. 如果「平均執行時間」旁邊沒有顯示「分析延遲時間」,可能的原因如下:

    • 所列查詢在所選時間範圍的 24 小時偵測期內,皆未發生異常情形。
    • Gemini Cloud Assist 尚未設定

查詢詳細資料

您也可以在「查詢詳細資料」頁面,透過 AI 輔助功能排解查詢速度緩慢的問題。

  1. 前往 Google Cloud 控制台的「Clusters」(叢集) 頁面。
  2. 前往「Clusters」(叢集) 頁面
  3. 在叢集和執行個體清單中,按一下執行個體。
  4. 按一下「查詢洞察」開啟「查詢洞察」資訊主頁。
  5. 在「查詢洞察」資訊主頁中,按一下「熱門查詢」中要查看的查詢。「查詢詳細資料」頁面隨即顯示。
  6. 選用:使用「時間範圍篩選器」選取 1 小時、6 小時、1 天、7 天、30 天或自訂範圍。調整「查詢詳細資料」頁面的時間範圍篩選器時,AlloyDB 會重新執行異常偵測。
  7. 如果 AlloyDB 未偵測到查詢異常,您仍可點選「分析查詢效能」,對查詢執行分析。系統會產生「Analyzing query latency」(分析查詢延遲時間) 頁面。

分析查詢延遲

您可以運用 AI 輔助功能,分析及排解查詢延遲的詳細資料。

在「Analyzing query latency」(分析查詢延遲) 頁面中,您可以查看查詢和查詢文字的下列詳細資料:

查詢分析資訊畫面

這個頁面也會提供延遲時間圖表,顯示所選時間範圍內的 P50、P95 和 P99 延遲時間值。P50 顯示中位數延遲時間,其中 50% 的查詢使用者會遇到高延遲,50% 的使用者則會遇到較低的延遲。同樣地,P95 和 P99 線條會顯示 95% 和 99% 的查詢使用者遇到的查詢延遲。就 P95 而言,5% 的使用者延遲時間較長;就 P99 而言,只有 1% 的使用者延遲時間較長。

您可以查看查詢延遲時間大幅增加的具體時間範圍。

查詢延遲時間圖表,顯示 P50、P95 和 P99 延遲時間值

資料分析時間範圍

分析時間範圍為您在「查詢洞察」資訊主頁的「資料庫負載」圖表或「查詢詳細資料」頁面中選取的時間範圍結束前 24 小時。AlloyDB 會使用這段時間,比較基準指標與異常狀況時間範圍內擷取的指標。

在「查詢詳細資料」頁面中,如果 AlloyDB 偵測到查詢異常,當您從「查詢洞察」資訊主頁選取查詢後,AlloyDB 會使用異常結束後 24 小時的資料,對查詢執行基準效能分析。如果 AlloyDB 未偵測到查詢異常,並再次對查詢執行異常偵測,則 AlloyDB 會使用所選時間範圍結束前 48 小時的資料,做為分析時間範圍的效能基準。

偵測到異常狀況的期間

偵測到異常狀況的期間是指 AlloyDB 發現查詢效能出現異常變化的時間範圍。AlloyDB 會使用在分析時間範圍內測得的查詢基準效能。

如果 AlloyDB 在所選時間範圍內偵測到查詢的多個異常狀況,則會使用最後偵測到的異常狀況。

情況

開始調查後,AlloyDB 會分析查詢和所有歷來資料,並嘗試找出可能的原因,說明查詢在所選時間範圍內效能較慢的原因。

舉例來說,如果查詢速度緩慢,系統可能會將原因歸類為「資料量變化」

在判斷這個特定情況時,AlloyDB 偵測到這項查詢的資料量異常增加。AlloyDB 也會列出其他可能未偵測到異常狀況的情況,方便您排除這些可能根本原因。

慢速查詢的分析結果,包括情況和證據

證據

針對每種情況,AlloyDB 都會提供證據清單,以佐證調查結果。AlloyDB 會根據從執行個體、資料庫和查詢歷來執行作業收集的指標,提供證據。

針對每種情況提供的證據,反映了 AlloyDB 在偵測時間範圍內偵測到的查詢異常情形。AlloyDB 會將指標超過特定門檻或符合特定條件的情況定義為異常。

在這個範例中,如要支援資料量變化的情況,您可能會看到下列證據:

  • 查詢處理的資料:查詢處理的平均資料量最多增加 5989.97%。
  • 查詢執行時間:平均執行時間最多增加 1506.59%。
  • 共用區塊命中次數:共用區塊平均命中次數增加了 2397.83%

您也可能會看到可證明查詢成效正常或無異常的證據,例如:

  • 傳回的資料列:未偵測到顯著變化。
  • 資料處理時間:資料不足,無法評估變化。

標準查詢執行的證據可協助您決定要採用哪項建議。

建議

根據分析的所有情況,AlloyDB 會提供一或多項可執行的建議,協助您修正查詢效能緩慢的問題。在這種情況下,AlloyDB 會提供成本效益分析,協助您判斷是否要實作建議。

例如,您可能會收到下列建議:

  • 建立建議的索引:為下列資料欄新建索引,提高這項查詢的效能:country

如要實作這項建議,請按照下列步驟操作:

  1. 在「最佳化建議」表格中,按一下要採用的最佳化建議旁邊的「查看詳細資料」。系統會顯示「洞察和最佳化建議」視窗。
  2. 洞察和建議視窗,內含可複製的索引建立指令。
  3. 在「洞察和建議」視窗中,查看「建議動作」和「受影響的表格」
  4. 選用:如要進一步瞭解索引建議,請按一下「這項建議有何幫助」,開啟 Gemini Cloud Assist
  5. 按一下「複製所有索引指令」
  6. 向 AlloyDB Studio 進行驗證。
  7. CREATE INDEX 指令貼到 AlloyDB Studio,建立索引。 如要進一步瞭解如何在 AlloyDB Studio 中執行 SQL 指令,請參閱「使用 AlloyDB Studio 管理資料」。

如要繼續排解問題或取得查詢效能方面的進一步協助,也可以開啟 Gemini Cloud Assist。 詳情請參閱「透過 AI 輔助功能觀察及排解問題」。

後續步驟