本頁面說明什麼是代管連線集區,以及如何使用這項功能,透過集區管理機制,為 Cloud SQL 執行個體最佳化資料庫連線管理作業。
透過代管連線集區,您可以運用集區功能,最佳化 Cloud SQL 執行個體的資源用量和連線延遲時間,進而擴展工作負載。 代管連線集區會盡可能將伺服器連線動態指派給傳入的要求。這項功能可吸收突然出現的連線尖峰,並重複使用現有的資料庫連線,因此能大幅提升效能,特別是擴充連線時。代管連線集區會連至集區叢集,而非特定資料庫,因此可縮短連線時間,並為工作負載提供可擴充性。使用的集區數量取決於執行個體的 vCPU 核心數。
雖然您可以將代管連線集區用於任何交易工作負載,但如果應用程式包含存留時間較短的連線,或是導致連線激增,代管連線集區就能提供最大的輸送量和延遲時間優勢。
如果是長期連線,使用代管連線集區的連線效能可能會略低於直接連線。在這種情況下,如果連線數量非常多,代管連線集區會提供連線擴縮功能。不過,對於通常會建立長期連線的應用程式,您可能會改用直接連線至執行個體。
如要進一步瞭解如何啟用受管理連線集區,請參閱「設定受管理連線集區」。
需求條件
如要使用受管理連線集區,執行個體必須符合下列規定:
- 執行個體必須是 Cloud SQL Enterprise Plus 版本。
- 您必須使用直接連線或 Cloud SQL Auth Proxy 連線至執行個體。
- 您必須使用有效的使用者名稱和密碼連線至執行個體。使用代管連線集區時,系統不支援 IAM 和 IAM 群組使用者。
- 執行個體必須設定為私人服務存取權、使用公開 IP,或是啟用 Private Service Connect 的新執行個體。
- 執行個體必須使用新的 Cloud SQL 網路架構。
- 代管連線集區的維護版本號碼至少須為
POSTGRES_$version.R20250302.00_04
。詳情請參閱「執行自助式維護」。
Cloud SQL 執行個體受管理連線集區使用的連接埠
啟用「受管理連線集區」後,Cloud SQL 執行個體用於提供資料庫流量的通訊埠會變更。代管連線集區使用的通訊埠如下:
- TCP 通訊埠 5432:Postgres 資料庫伺服器用於直接連線。這是使用 psql 用戶端直接連線時使用的預設通訊埠編號。
- TCP 通訊埠 6432:供代管連線集區集區器直接連線使用。如要使用這個通訊埠連線,請在使用 psql 用戶端直接連線時指定
psql -p 6432
。 - TCP 通訊埠 3307:僅供受管理連線集區的集區器使用 Cloud SQL 驗證 Proxy 連線。使用 Cloud SQL 驗證 Proxy 連線至 Managed Connection Pooling pooler 時,這個連接埠號碼會透過 Cloud SQL 驗證 Proxy 用戶端設定,且無法變更。
進階設定選項
代管連線集區提供下列集區選項,您可以使用pool_mode
參數設定:
transaction
(預設):在交易層級集區連線。session
:在工作階段層級集區連線。
您也可以使用下列設定參數,自訂受管理連線集區:
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
:您要忽略的參數,這些參數預設不會在受管理連線共用集區的啟動封包中追蹤。server_lifetime
:伺服器連線閒置時間上限,超過後 Managed Connection Pooling 就會關閉連線。預設值為 3600 秒。
限制
搭配 Cloud SQL Enterprise Plus 版執行個體使用代管連線集區時,請注意下列限制:
- 在現有執行個體上啟用代管連線集區,會導致資料庫重新啟動。
- 使用 Cloud SQL API 啟用、停用或設定 Managed Connection Pooling 時,
instance.update
API 不得包含任何其他執行個體設定更新。 - 只有 Cloud SQL 驗證 Proxy 2.15.2 以上版本,才能使用代管連線集區。
- 如果您使用 Cloud SQL Go 語言連接器,建議您使用 Go
1.24
以上版本。如果您使用 Go 1.23 以下版本,使用代管連線集區時可能會遇到效能限制。 如果您在
transaction
集區模式中使用 Managed Connection Pooling,則不支援下列 SQL 功能:SET/RESET
LISTEN
WITH HOLD CURSOR
PREPARE/DEALLOCATE
PRESERVE/DELETE ROW
臨時資料表LOAD
- 工作階段層級諮詢鎖定
如果您使用 asyncpg 資料庫介面程式庫,透過 3307 和 6432 連接埠在 Managed Connection Pooling 集區器上執行作業,則必須將
max_prepared_statements
更新為大於 0 的值,才能在 Managed Connection Pooling 集區器中啟用預先準備好的陳述式。如果您使用 PostgreSQL 適用的 Cloud SQL 17 版,則系統不支援
sslnegotiation=direct
選項。代管連線集區不支援追蹤用戶端 IP。如果您在查詢洞察中啟用「儲存用戶端 IP 位址」,系統會以
local
顯示用戶端 IP 位址,而非 IP 位址本身。