Configurare il pool di connessioni gestito

Questa pagina descrive come configurare il pooling delle connessioni gestite per le istanze Cloud SQL.

Prima di iniziare

  • Verifica che l'istanza soddisfi tutti i requisiti per utilizzare il pooling delle connessioni gestite.
  • Se utilizzi gcloud CLI, utilizza il comando gcloud beta e conferma che la versione di gcloud CLI sia 515.0.0 o successiva.

Puoi attivare il pool di connessioni gestito per un'istanza al momento della creazione o modificare un'istanza esistente per attivarlo.

Attivare il pool di connessioni gestito per una nuova istanza

Per creare un'istanza con il pooling di connessioni gestito abilitato, consulta Creare istanze. Puoi attivare il pooling delle connessioni gestite per un'istanza utilizzando gcloud CLI o l'API Cloud SQL.

Abilitare il pool di connessioni gestito per un'istanza esistente

Puoi attivare il pooling delle connessioni gestite per un'istanza esistente utilizzando la console Google Cloud, gcloud CLI o l'API Cloud SQL. Devi attivare il pool di connessioni gestito prima di modificare le relative opzioni.

Console

  1. Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Individua l'istanza per la quale vuoi attivare il pool di connessioni gestito. Per aprire la pagina Panoramica dell'istanza, fai clic sul nome dell'istanza.

  3. Fai clic su Modifica.

  4. In Personalizza la tua istanza, espandi Connessioni.

  5. Per attivare il pool di connessioni gestito, seleziona la casella Attiva pool di connessioni gestito.

  6. Fai clic su Salva.

gcloud

Utilizza il comando gcloud beta sql instances per attivare il pool di connessioni gestito.

  gcloud beta sql instances patch INSTANCE_NAME \
  --enable-connection-pooling

Sostituisci quanto segue:

  • INSTANCE_NAME: il nome dell'istanza Cloud SQL per la quale vuoi attivare il pooling delle connessioni gestite.

REST v1

Per abilitare il pool di connessioni gestito per un'istanza esistente, utilizza il seguente comando e imposta connectionPoolingEnabled:

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • PROJECT_ID: l'ID progetto
  • INSTANCE_ID: l'ID istanza

Metodo HTTP e URL:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID

Corpo JSON della richiesta:

{
  "settings": {
    "connectionPoolConfig": {
      "connectionPoolingEnabled": true
    }
  }
}

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

REST v1beta4

Per abilitare il pool di connessioni gestito per un'istanza esistente, utilizza il seguente comando e imposta connectionPoolingEnabled:

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • PROJECT_ID: l'ID progetto
  • INSTANCE_ID: l'ID istanza

Metodo HTTP e URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID

Corpo JSON della richiesta:

{
  "settings": {
    "connectionPoolConfig": {
      "connectionPoolingEnabled": true
    }
  }
}

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

Modificare il pool di connessioni gestito per un'istanza

Dopo aver attivato il pool di connessioni gestito, puoi personalizzarlo utilizzando le opzioni di configurazione disponibili. Queste opzioni di configurazione sono chiamate flag del pool di connessioni gestite. Le configurazioni aggiunte al pool di connessioni gestito vengono applicate a tutti i pooler utilizzati dall'istanza. Per ulteriori informazioni sulle opzioni di configurazione disponibili, sui relativi valori predefiniti e sugli intervalli, consulta le opzioni di configurazione disponibili.

Per modificare le opzioni di configurazione del pool di connessioni gestito disponibili per un'istanza:

Console

  1. Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Individua l'istanza per la quale vuoi attivare il pool di connessioni gestito. Per aprire la pagina Panoramica dell'istanza, fai clic sul nome dell'istanza.

  3. Fai clic su Modifica.

  4. In Personalizza la tua istanza, espandi Connessioni.

  5. In Pool di connessioni gestito, espandi Opzioni di pooling avanzate.

    Modifica le opzioni di raggruppamento disponibili che vuoi aggiornare.

  6. Fai clic su Salva.

gcloud

Utilizza il comando gcloud beta sql instances per modificare le opzioni di configurazione.

  gcloud beta sql instances patch INSTANCE_NAME \
  --connection-pool-flags=CONFIGURATION_NAME=CONFIGURATION_VALUE

Sostituisci quanto segue:

  • INSTANCE_NAME: il nome dell'istanza Cloud SQL per la quale vuoi modificare il pooling delle connessioni gestite.
  • CONFIGURATION_NAME: il nome dell'opzione di configurazione che vuoi modificare. Per un elenco di tutte le opzioni di configurazione disponibili, consulta le opzioni di configurazione disponibili.
  • CONFIGURATION_VALUE: il nuovo valore per l'opzione di configurazione selezionata.

REST v1

Per modificare le configurazioni disponibili del pooling delle connessioni gestite, utilizza il seguente comando e imposta ConnectionPoolConfig:

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • PROJECT_ID: l'ID progetto
  • INSTANCE_ID: l'ID istanza

Metodo HTTP e URL:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID

Corpo JSON della richiesta:

{
  "settings": {
    "connectionPoolConfig": {
      "flags":
      [
        {
          "name": "CONFIGURATION_NAME",
          "value":"CONFIGURATION_VALUE"
        }
      ]
    }
  }
}

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

REST v1beta4

Per modificare le configurazioni disponibili del pooling delle connessioni gestite, utilizza il seguente comando e imposta ConnectionPoolConfig:

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • PROJECT_ID: l'ID progetto
  • INSTANCE_ID: l'ID istanza

Metodo HTTP e URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID

Corpo JSON della richiesta:

{
  "settings": {
    "connectionPoolConfig": {
      "flags":
      [
        {
          "name": "CONFIGURATION_NAME",
          "value":"CONFIGURATION_VALUE"
        }
      ]
    }
  }
}

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

Disattivare il pool di connessioni gestito per un'istanza

Puoi disattivare il pooling delle connessioni gestite per un'istanza esistente utilizzando la console Google Cloud, gcloud CLI o l'API Cloud SQL.

Per disattivare il pool di connessioni gestito per un'istanza:

Console

  1. Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Individua l'istanza per la quale vuoi disattivare il pool di connessioni gestito. Per aprire la pagina Panoramica dell'istanza, fai clic sul nome dell'istanza.

  3. Fai clic su Modifica.

  4. In Personalizza la tua istanza, espandi Connessioni.

  5. Per disattivare il pool di connessioni gestito, deseleziona la casella Attiva pool di connessioni gestito.

  6. Fai clic su Salva.

gcloud

Utilizza il comando gcloud beta sql instances per disattivare il pooling delle connessioni gestite.

  gcloud beta sql instances patch INSTANCE_NAME \
  --no-enable-connection-pooling

Sostituisci quanto segue:

  • PROJECT_ID: il nome dell'istanza Cloud SQL per la quale vuoi disattivare il pooling delle connessioni gestite.

REST v1

Per disattivare il pooling delle connessioni gestite per un'istanza, utilizza il seguente comando e imposta connectionPoolingEnabled:

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • PROJECT_ID: l'ID progetto
  • INSTANCE_ID: l'ID istanza

Metodo HTTP e URL:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID

Corpo JSON della richiesta:

{
  "settings": {
    "connectionPoolConfig": {
      "connectionPoolingEnabled": false
    }
  }
}

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

REST v1beta4

Per disattivare il pooling delle connessioni gestite per un'istanza, utilizza il seguente comando e imposta connectionPoolingEnabled:

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • PROJECT_ID: l'ID progetto
  • INSTANCE_ID: l'ID istanza

Metodo HTTP e URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID

Corpo JSON della richiesta:

{
  "settings": {
    "connectionPoolConfig": {
      "connectionPoolingEnabled": false
    }
  }
}

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

Visualizza lo stato del pool di connessioni gestito per un'istanza

Puoi visualizzare lo stato del pooling delle connessioni gestite per un'istanza utilizzando la console Google Cloud, gcloud CLI o l'API Cloud SQL.

Per visualizzare lo stato del pooling delle connessioni gestite per un'istanza Cloud SQL Enterprise Plus, svolgi i seguenti passaggi:

Console

  1. Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Individua l'istanza per la quale vuoi disattivare il pool di connessioni gestito. Per aprire la pagina Panoramica dell'istanza, fai clic sul nome dell'istanza.

    La sezione Connessioni indica se il pool di connessioni gestito è attivo o meno.

gcloud

  gcloud beta sql instances describe INSTANCE_NAME| 2 connectionPoolingEnabled

Sostituisci quanto segue:

  • PROJECT_ID: il nome dell'istanza Cloud SQL per la quale vuoi visualizzare lo stato del pooling delle connessioni gestite.

    Se il pool di connessioni gestito è abilitato, viene restituita la seguente risposta:

    connectionPoolingEnabled: true

REST v1

Per visualizzare lo stato del pooling delle connessioni gestite per la tua istanza Cloud SQL, utilizza il seguente comando e cerca ConnectPoolingEnabled:

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

Metodo HTTP e URL:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "kind": "sql#instance",
  "state": "RUNNABLE",
  "databaseVersion": "MYSQL_8_0",
  "settings": {
    "authorizedGaeApplications": [],
    "tier": "db-custom-2-7680",
    "kind": "sql#settings",
    "availabilityType": "REGIONAL",
    "pricingPlan": "PER_USE",
    "replicationType": "SYNCHRONOUS",
    "activationPolicy": "ALWAYS",
    "ipConfiguration": {
      "authorizedNetworks": [],
      "pscConfig": {
        "allowedConsumerProjects": [
          "ALLOWED_PROJECTS"
        ],
        "pscEnabled": true
      },
      "ipv4Enabled": false
    },
  ...
  "createTime": "2023-06-14T18:48:34.975Z",
  "sqlNetworkArchitecture": "NEW_NETWORK_ARCHITECTURE",
  "pscServiceAttachmentLink": "projects/PROJECT_ID/regions/REGION_NAME/serviceAttachments/SERVICE_ATTACHMENT_ID",
  "dnsName": "DNS_NAME"
}

REST v1beta4

Per visualizzare lo stato del pooling delle connessioni gestite per la tua istanza Cloud SQL, utilizza il seguente comando e cerca ConnectPoolingEnabled:

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

Metodo HTTP e URL:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "kind": "sql#instance",
  "state": "RUNNABLE",
  "databaseVersion": "MYSQL_8_0",
  "settings": {
    "authorizedGaeApplications": [],
    "tier": "db-custom-2-7680",
    "kind": "sql#settings",
    "availabilityType": "REGIONAL",
    "pricingPlan": "PER_USE",
    "replicationType": "SYNCHRONOUS",
    "activationPolicy": "ALWAYS",
    "ipConfiguration": {
      "authorizedNetworks": [],
      "pscConfig": {
        "allowedConsumerProjects": [
          "ALLOWED_PROJECTS"
        ],
        "pscEnabled": true
      },
      "ipv4Enabled": false
    },
  ...
  "createTime": "2023-06-14T18:48:34.975Z",
  "sqlNetworkArchitecture": "NEW_NETWORK_ARCHITECTURE",
  "pscServiceAttachmentLink": "projects/PROJECT_ID/regions/REGION_NAME/serviceAttachments/SERVICE_ATTACHMENT_ID",
  "dnsName": "DNS_NAME"
}

Monitorare il pool di connessioni gestito

Puoi monitorare il funzionamento del pooling delle connessioni gestite nelle tue istanze Cloud SQL utilizzando le seguenti metriche del pooling delle connessioni gestite di Cloud SQL:

Nome metrica Descrizione
thread Monitora il conteggio dei thread nel pool di connessioni in base allo stato. Gli stati inclusi in questa metrica sono:
  • idle: il numero di thread inattivi nel pool.
  • active: il numero di thread attivi (non inattivi) nel pool.
pending_connection Il numero di connessioni attivamente nella coda del pooling.
avg_wait_time Il tempo medio trascorso dalla richiesta di connessione in attesa di un server.

Per ulteriori informazioni su queste metriche, consulta Metriche Cloud SQL. Per visualizzare queste metriche utilizzando la console Google Cloud, consulta Visualizzare le metriche nella pagina Panoramica dell'istanza Cloud SQL.

Passaggi successivi