Questa pagina descrive che cos'è il pooling delle connessioni gestite (MCP) e come utilizzarlo con le tue istanze Cloud SQL.
Il pooling delle connessioni gestite (MCP) ti consente di scalare i tuoi carichi di lavoro ottimizzando l'utilizzo delle risorse e la latenza di connessione per le tue istanze Cloud SQL per PostgreSQL utilizzando il pooling. Se possibile, MCP assegna dinamicamente le connessioni del server alle richieste in arrivo. Ciò consente significativi miglioramenti delle prestazioni, in particolare per le connessioni scalate, assorbendo i picchi improvvisi delle connessioni e riutilizzando le connessioni al database esistenti. Anziché collegarsi a un determinato database, MCP si connette a un cluster di pooler, che offrono tempi di connessione più brevi e scalabilità per i tuoi carichi di lavoro. Il numero di pooler utilizzati si basa sul numero di core vCPU della tua istanza.
Sebbene sia possibile utilizzare MCP per qualsiasi carico di lavoro transazionale, MCP offre il massimo vantaggio in termini di velocità in entrata e latenza con le applicazioni che contengono connessioni di breve durata o applicazioni che generano un picco di connessioni.
Per le connessioni di lunga durata, le prestazioni della connessione che utilizza MCP possono essere leggermente inferiori rispetto a quelle di una connessione diretta. In questo caso, MCP fornisce il ridimensionamento delle connessioni quando il numero di connessioni è molto elevato. Tuttavia, per le applicazioni che in genere stabiliscono connessioni di lunga durata, puoi utilizzare connessioni dirette alla tua istanza.
Per ulteriori informazioni su come attivare MCP, consulta Configurare il pooling delle connessioni gestite.
Requisiti
Per utilizzare MCP, l'istanza deve soddisfare i seguenti requisiti:
- L'istanza deve essere una versione Cloud SQL Enterprise Plus.
- Devi essere connesso all'istanza utilizzando una connessione diretta o solo il proxy di autenticazione Cloud SQL.
- Devi essere connesso all'istanza utilizzando un nome utente e una password validi. Gli utenti IAM e dei gruppi IAM non sono supportati quando si utilizza MCP.
- L'istanza deve essere configurata per l'accesso ai servizi privati, utilizzare un IP pubblico o essere una nuova istanza con Private Service Connect abilitato.
- L'istanza deve utilizzare la nuova architettura di rete Cloud SQL.
- MCP richiede un numero di versione di manutenzione minima di
POSTGRES_$version.R20250302.00_04
. Per ulteriori informazioni, consulta la pagina Manutenzione self-service.
Opzioni di configurazione disponibili
MCP offre le seguenti opzioni di raggruppamento che puoi impostare utilizzando il parametroPOOL_MODE
:
TRANSACTION
(valore predefinito): raggruppa le connessioni a livello di transazione.SESSION
: raggruppa le connessioni a livello di sessione.
Puoi anche personalizzare MCP utilizzando i seguenti parametri di configurazione:
MAX_POOL_SIZE
: la dimensione massima del pool di connessioni. Il valore predefinito è 50 connessioni.MIN_POOL_SIZE
: la dimensione di soglia del pool di connessioni. Se il numero di connessioni al server è inferiore amin_pool_size
, aggiungi altre connessioni al server al pool. Il valore predefinito è 0 connessioni.MAX_CLIENT_CONNECTIONS
: il numero massimo di connessioni consentite per la tua istanza. Il valore predefinito è 5000 connessioni.CLIENT_CONNECTION_IDLE_TIMEOUT
: il tempo che una connessione client rimane inattiva prima del timeout. Questo valore può variare da 0 a 2.147.483 secondi e il valore predefinito è 0 secondi.SERVER_CONNECTION_IDLE_TIMEOUT
: il tempo in cui una connessione al server rimane inattiva prima del timeout. Questo valore può variare da 0 a 2.147.483 secondi e il valore predefinito è 600 secondi.QUERY_WAIT_TIMEOUT
: il tempo di attesa di una query prima del timeout. Questo valore può variare da 0 a 2.147.483 secondi e il valore predefinito è 120 secondi.MAX_PREPARED_STATEMENTS
: il numero massimo di comandi di istruzioni preparate con nome a livello di protocollo supportati in modalità di raggruppamento delle transazioni. Il valore predefinito è 0.IGNORE_STARTUP_PARAMETERS
: i parametri da ignorare, che per impostazione predefinita non vengono monitorati nei pacchetti di avvio di MCP.SERVER_LIFETIME
: il tempo massimo durante il quale una connessione al server rimane inutilizzata prima che l'MCP la chiuda. Il valore predefinito è 3600 secondi.
Limitazioni
Tieni presenti le seguenti limitazioni quando utilizzi MCP con le tue istanze Cloud SQL nella versione Enterprise Plus:
- L'attivazione di MCP su un'istanza esistente comporta un riavvio del database.
- Quando utilizzi l'API Cloud SQL per attivare, disattivare o configurare MCP, l'API
instance.update
non può contenere altri aggiornamenti della configurazione dell'istanza. - MCP può essere utilizzato solo con il proxy di autenticazione Cloud SQL 2.15.2 e versioni successive.
- Se utilizzi il connettore per il linguaggio Go di Cloud SQL, ti consigliamo una versione minima di Go pari a
1.24
. Se utilizzi Go versione 1.23 o precedenti, potresti riscontrare limitazioni del rendimento quando utilizzi MCP. Se utilizzi MCP in modalità di pooling
TRANSACTION
, le seguenti funzionalità SQL non sono supportate:SET/RESET
LISTEN
WITH HOLD CURSOR
PREPARE/DEALLOCATE
PRESERVE/DELETE ROW
tabelle temporaneeLOAD
- Blocchi di consulenza a livello di sessione
Se utilizzi Cloud SQL per PostgreSQL versione 17, l'opzione
sslnegotiation=direct
non è supportata.