本頁面說明什麼是 Managed Connection Pooling,以及如何搭配 Cloud SQL 執行個體使用。
透過 Managed Connection Pooling,您可以使用集結功能,改善 Cloud SQL for PostgreSQL 執行個體的資源使用率和連線延遲時間,進而調整工作負載。代管連線集區會盡可能動態指派伺服器連線給傳入的要求。這可吸收突然的連線尖峰,並重複使用現有的資料庫連線,進而大幅改善效能,尤其是針對擴充的連線。由管理的連線集區連線至集區內的集區管理器,而非連線至特定資料庫,這可縮短連線時間,並為工作負載提供可擴充的功能。使用的集區管理工具數量取決於執行個體的 vCPU 核心數量。
雖然您可以將 Managed Connection Pooling 用於任何交易工作負載,但 Managed Connection Pooling 最適合用於含有短暫連線的應用程式,或是會導致連線激增的應用程式,因為這類應用程式可提供最佳的傳輸量和延遲時間效益。
對於長效連線,使用 Managed Connection Pooling 的連線效能可能會比使用直接連線時稍低。在這種情況下,當連線數量非常高時,Managed Connection Pooling 會提供連線調整功能。不過,如果應用程式通常會建立長效連線,您可以改為使用與執行個體的直接連線。
如要進一步瞭解如何啟用受管理的連線集區,請參閱「設定受管理的連線集區」。
需求條件
如要使用 Managed Connection Pooling,執行個體必須符合下列規定:
- 您的執行個體必須是 Cloud SQL Enterprise Plus 版本執行個體。
- 您必須使用直接連線或僅使用 Cloud SQL 驗證 Proxy 連線至執行個體。
- 您必須使用有效的使用者名稱和密碼連線至執行個體。使用 Managed Connection Pooling 時,系統不支援 IAM 和 IAM 群組使用者。
- 執行個體必須設定為私人服務存取權、使用公用 IP,或是啟用 Private Service Connect 的新執行個體。
- 執行個體必須使用新的 Cloud SQL 網路架構。
- 代管連線集區需要最低
POSTGRES_$version.R20250302.00_04
的維護版本號碼。詳情請參閱「自助式維護」。
可用的設定選項
代管連線集區提供下列集區選項,您可以使用pool_mode
參數進行設定:
transaction
(預設):在交易層級集結連線。session
:在工作階段層級集結連線。
您也可以使用下列設定參數自訂 Managed Connection Pooling:
max_pool_size
:連線集區的最大大小。預設值為 50 個連線。min_pool_size
:連線集區的閾值大小。如果伺服器連線數少於min_pool_size
,請在集區中新增更多伺服器連線。預設值為 0 個連線。max_client_connections
:執行個體允許的連線數量上限。預設值為 5,000 個連線。client_connection_idle_timeout
:用戶端連線在逾時前保持閒置的時間。這個值的範圍為 0 到 2,147,483 秒,預設值為 0 秒。server_connection_idle_timeout
:伺服器連線在逾時前保持閒置的時間。這個值的範圍為 0 到 2,147,483 秒,預設值為 600 秒。query_wait_timeout
:查詢等待逾時前的時間。這個值的範圍為 0 到 2,147,483 秒,預設值為 120 秒。max_prepared_statements
:在交易集結模式中支援的通訊協定層級命名預備陳述式指令數量上限。預設值為 0。ignore_startup_parameters
:您要忽略的參數,這些參數預設不會在 Managed Connection Pooling 的啟動封包中追蹤。server_lifetime
:在 Managed Connection Pooling 關閉伺服器連線之前,該連線閒置的最大時間。預設值為 3600 秒。
限制
在 Cloud SQL Enterprise Plus 版本的執行個體中使用 Managed Connection Pooling 時,請考量下列限制:
- 在現有執行個體上啟用代管連線集區會導致資料庫重新啟動。
- 使用 Cloud SQL API 啟用、停用或設定 Managed Connection Pooling 時,
instance.update
API 不得包含任何其他執行個體設定更新。 - 管理式連線集區只能搭配 Cloud SQL 驗證 Proxy 2.15.2 以上版本使用。
- 如果您使用 Cloud SQL Go 語言連接器,建議您使用
1.24
的最低 Go 版本。如果您使用 Go 1.23 以下版本,使用 Managed Connection Pooling 時可能會遇到效能限制。 如果您在
transaction
集區模式中使用 Managed Connection Pooling,則不支援下列 SQL 功能:SET/RESET
LISTEN
WITH HOLD CURSOR
PREPARE/DEALLOCATE
PRESERVE/DELETE ROW
臨時資料表LOAD
- 工作階段層級的建議鎖定
如果您使用的是 PostgreSQL 適用的 Cloud SQL 17 版,則系統不支援
sslnegotiation=direct
選項。