跳至內容

如何對 Aurora Serverless v2 的擴展問題進行疑難排解?

2 分的閱讀內容
0

我想要對 Amazon Aurora PostgreSQL 相容版本的 Amazon Aurora Serverless v2 擴展問題進行疑難排解。

簡短說明

如果 Aurora Serverless v2 即使在資料庫沒有負載的情況下也沒有縮減規模至最小容量,則您必須將參數更新為其預設值。Aurora Serverless v2 使用 Aurora 容量單位 (ACU) 來衡量運算容量,每個 ACU 大約代表 2 GiB 的記憶體,並具有對應的 CPU 和網路資源

如果您的資源有太多閒置連線,或者您長期具有高 CPU 使用率,則您無法向上擴展至最大容量。如果您將最小容量組態為 0.5 ACU 並使用自動暫停功能,則可能會遇到冷啟動問題,進而導致連線或交易逾時錯誤。

解決方法

修改最小 ACU

如果您從佈建的執行個體遷移至無伺服器執行個體,請檢閱佈建執行個體的 BufferCacheHitRatio 指標,以了解 DB 執行個體的行為。如果該指標在 Aurora Serverless 中不穩定且下降,請根據您的資料庫緩衝區快取效能需求來增加最小 ACU。最小 ACU 越高,資料庫就能越快向上擴展,以滿足應用程式的需求。如需更多資訊,請參閱 Choosing the Aurora Serverless v2 capacity range for an Aurora cluster (為 Aurora 叢集選擇 Aurora Serverless v2 容量範圍)。

若要設定最小 ACU,請完成下列步驟:

  1. 開啟 Amazon Aurora 和 RDS 主控台
  2. 在導覽窗格中,選擇 Databases (資料庫)。
  3. 針對新叢集選擇 Create database (建立資料庫),或是選取現有的叢集並選擇 Modify (修改)。
  4. Instance Configuration (執行個體組態) 部分的 Capacity range (容量範圍) 下,設定最小 ACU 值。如需更多資訊,請參閱 Creating a DB cluster that uses Aurora Serverless v2 (建立使用 Aurora Serverless v2 的 DB 叢集) 中的 Capacity range (容量範圍)。
    **注意:**如果您啟用了 Database Insights,最佳實務是將 Minimum capacity (ACUs) (最小容量 (ACU)) 設為 2;如果您是使用全域資料庫,則請將 Minimum capacity (ACUs) (最小容量 (ACU)) 設為 8。如需更多資訊,請參閱 Performance and scaling for Aurora Serverless v2 (Aurora Serverless v2 的效能與擴展) 中的 Choosing the minimum Aurora Serverless v2 capacity setting for a cluster (為叢集選擇最小 Aurora Serverless v2 容量設定)。

變更讀取器執行個體的優先順序層級

閒置的 Aurora Serverless v2 寫入器和讀取器可以縮減規模至您為叢集指定的最小 ACU 值。在後端執行的背景處理和管理工作,可能會導致無伺服器執行個體無法縮減規模至最小 ACU。

如需更多資訊,請參閱 Troubleshooting Aurora Serverless v2 capacity issues (對 Aurora Serverless v2 容量問題進行疑難排解)。

移除自訂值

資料庫參數 (例如 max_connectionsmax_locks_per_transaction) 會影響擴展行為。自訂值不支援資料庫擴展至最小容量。若要移除 max_connectionsmax_locks_per_transaction 的自訂值,請將參數設為預設值,接著重新啟動主要資料庫執行個體

減輕資料庫的連線壓力

若要減輕資料庫的連線壓力,請使用 Amazon RDS Proxy 來設定具備重試邏輯和指數退避的連線集區

檢閱資料庫查詢

若要減輕負載並改進調擴展效能,請定期檢閱並最佳化資料庫查詢。若要最佳化查詢,請執行 ANALYZEVACUUM PostgreSQL 命令。如需更多資訊,請參閱 PostgreSQL 網站上的 ANALYZERoutine Vacuuming (例行清理)。

監控 CloudWatch 指標

若要追蹤實際的 ACU 使用量,請監控適用於 Aurora Serverless 2 的 Amazon CloudWatch 指標ServerlessDatabaseCapacityACUUtilizationCPUUtilizationFreeableMemory。若要接收 Aurora Serverless v2 擴展問題的主動警示,您必須設定 CloudWatch 警示。如果 ACUUtilizationCPUUtilization 指標接近 100%,代表您的 Aurora Serverless v2 的最大 ACU 容量不足,且處於極高負載的狀態。

若要為擴展失敗或延長的高容量期間設定警示,請參閱 Creating CloudWatch alarms to monitor Amazon Aurora (建立 CloudWatch 警示以監控 Amazon Aurora)。

設定自動暫停和逾時組態的值

設定 Aurora Serverless v2 的自動暫停與恢復值停止並重新啟動資料庫,以回收可能隨時間累積的記憶體碎片。

**注意:**如果您停止並重新啟動資料庫,資料庫將會出現停機時間。

相關資訊

Understanding how ACU minimum and maximum range impacts scaling in Amazon Aurora Serverless v2 (了解 ACU 最小和最大範圍如何影響 Amazon Aurora Serverless v2 中的擴展)

AWS 官方已更新 7 個月前