如何提高 Amazon Aurora 資料庫執行個體的連線數上限?

1 分的閱讀內容
0

我想要提高與 Amazon Aurora PostgreSQL 相容版本或與 MySQL 相容版本之資料庫執行個體的連線數上限。

解決方案

使用下列方法可以提高與 Aurora MySQL 相容或與 Aurora PostgresSQL 相容之資料庫執行個體的連線數上限。

使用自訂參數群組為 max_connections 設定較大的值

使用自訂叢集或執行個體層級的參數群組,為 max_connections 參數設定較大的值。增加 max_connections 參數不會導致任何中斷。即使您可將 max_connections 的值增加至超出預設值,但這並非最佳實務。這是因為,當工作負載增加時,資料庫執行個體可能會發生問題。增加連線數可以增加記憶體使用量,而記憶體不足的資料庫執行個體可能會當機。對於較小的資料庫執行個體尤其如此。

若您增加 max_connections 值,請務必監控資源的使用狀況。此外,若要增加此值,請諮詢您的資料庫管理員 (DBA)。最佳實務是保留預設值,或在需要更多連線時縱向擴展為較大的執行個體類別。透過 Aurora 可使用 LEAST 函數來確定 max_connections 的值:

LEAST({DBInstanceClassMemory/9531392},5000)

此函數會使用 DBInstanceClass 選取數學方程式,直到它等於或超過 5,000 為止。這表示它會隨執行個體類別變更而自動擴展,然後根據執行個體的記憶體進行相應調整。如需詳細資訊,請參閱 Aurora PostgreSQL 資料庫執行個體的連線數上限

將預設參數群組變更為自訂參數群組

如果您的資料庫叢集或執行個體使用預設參數群組,請將預設參數群組變更為自訂參數群組。此操作可在叢集層級或執行個體層級執行。請務必將自訂資料庫參數群組與您的 Aurora 叢集或執行個體建立關聯,然後重新啟動執行個體。新的自訂參數群組與資料庫執行個體建立關聯後,您可以修改 max_connections 參數值。

**注意:**變更參數群組可能會導致中斷。如需詳細資訊,請參閱使用資料庫叢集參數群組

縱向擴展您的執行個體類別

將資料庫執行個體縱向擴展成記憶體更多的資料庫執行個體類別。縱向擴展 Amazon Relational Database Service (Amazon RDS) 執行個體 (包括 Amazon Aurora 執行個體) 會影響帳戶計費。若要瞭解詳細資訊,請參閱 Aurora 的資料庫執行個體計費

注意:修改 Amazon Aurora 資料庫叢集會造成停機。

Aurora Serverless 的注意事項

若使用的是 Amazon Aurora Serverless v1,則無法使用參數群組或由您來設定 max_connections。max_connections 的取值反而取決於與叢集關聯的 Aurora 容量單位 (ACU)。如需詳細資訊,請參閱決定 Aurora Serverless v1 的資料庫連線數量上限

若使用的是 Aurora Serverless v2,則設定 max_connections 可能會導致執行個體縱向擴展。之所以發生這種情況,是因為執行個體的目前連線數量會佔用配置的記憶體。這樣會強制使用擴展點,然後增加執行個體的記憶體和 CPU 配置。記憶體之所以增加,是因為增加了目前的作用中連線,以此滿足所配置的 max_connections。

**注意:**設定 max_connections 可能會增加執行個體的費用,因為 Aurora Serverless 根據每個 ACU 的時數來計費。如需有關 Aurora Serverless 定價的詳細資訊,請參閱 Amazon Aurora 定價


相關資訊

如何提高 Amazon RDS for MySQL 或 Amazon RDS for PostgreSQL 執行個體的連線數上限?

AWS 官方
AWS 官方已更新 1 年前