Esta página descreve como ativar, configurar e monitorizar o Managed Connection Pooling nas suas instâncias do Cloud SQL.
A pool de ligações gerida permite-lhe dimensionar as cargas de trabalho otimizando a utilização de recursos e a latência de ligação para as suas instâncias através da pool. Para ver informações detalhadas sobre a pool de ligações gerida e como a usar para as suas instâncias, consulte a vista geral da pool de ligações gerida.
Antes de começar
- Confirme se a sua instância cumpre todos os requisitos para usar o agrupamento de ligações gerido.
- Se estiver a usar a CLI gcloud, confirme que a versão da CLI gcloud
é
515.0.0
ou posterior.
Ative a partilha de ligações gerida
Pode ativar a funcionalidade de pool de ligações gerida para uma instância no momento da criação ou editar uma instância existente para a ativar.
Ative a funcionalidade Managed Connection Pooling para uma nova instância
Para criar uma nova instância com a funcionalidade Managed Connection Pooling ativada, consulte o artigo Criar instâncias. Só pode ativar a agrupamento de ligações gerido para uma nova instância através da CLI gcloud ou da API Cloud SQL.
Ative a funcionalidade Managed Connection Pooling para uma instância existente
Pode ativar o conjunto de ligações gerido para uma instância existente através daGoogle Cloud consola, da CLI gcloud ou da API Cloud SQL. Tem de ativar a funcionalidade Managed Connection Pooling antes de modificar as opções da mesma.
Consola
Na Google Cloud consola, aceda à página Instâncias do Cloud SQL.
Encontre a instância para a qual quer ativar o agrupamento de ligações gerido. Para abrir a página Vista geral da instância, clique no nome da instância.
Clique em Edit.
Em Personalize a sua instância, expanda Ligações.
Para ativar o conjunto de ligações gerido, selecione a caixa de verificação Ativar conjunto de ligações gerido.
Clique em Guardar.
gcloud
Use o comando gcloud sql instances
para ativar a pool de ligações gerida.
gcloud sql instances patch INSTANCE_NAME \
--enable-connection-pooling
Substitua o seguinte:
INSTANCE_NAME
: o nome da instância do Cloud SQL para a qual quer ativar o agrupamento de ligações gerido.
REST v1
Para ativar a pool de ligações gerida para uma instância existente, use o seguinte comando e defina connectionPoolingEnabled
:
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o ID do projeto
- INSTANCE_ID: o ID da instância
Método HTTP e URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID
Corpo JSON do pedido:
{ "settings": { "connectionPoolConfig": { "connectionPoolingEnabled": true } } }
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "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
Para ativar a pool de ligações gerida para uma instância existente, use o seguinte comando e defina connectionPoolingEnabled
:
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o ID do projeto
- INSTANCE_ID: o ID da instância
Método HTTP e URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID
Corpo JSON do pedido:
{ "settings": { "connectionPoolConfig": { "connectionPoolingEnabled": true } } }
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "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" }
Terraform
Para ativar a pool de ligações geridas para uma instância existente, use o seguinte recurso do Terraform:
Modifique a pool de ligações gerida para uma instância
Depois de ativar a funcionalidade Managed Connection Pooling, pode personalizá-la de acordo com as necessidades da sua instância através de opções de configuração avançadas. Estas opções de configuração são denominadas flags de pool de associações geridas. Para mais informações sobre as opções de configuração disponíveis, os respetivos valores predefinidos e intervalos, consulte as opções de configuração avançadas.
Para modificar as opções de configuração de agrupamento de ligações geridas disponíveis para uma instância, faça o seguinte:
Consola
Na Google Cloud consola, aceda à página Instâncias do Cloud SQL.
Encontre a instância para a qual quer ativar o agrupamento de ligações gerido. Para abrir a página Vista geral da instância, clique no nome da instância.
Clique em Edit.
Em Personalize a sua instância, expanda Ligações.
Em Conjunto de ligações gerido, expanda Opções avançadas de agrupamento.
Modifique as opções de agrupamento disponíveis que quer atualizar.
Clique em Guardar.
gcloud
Use o comando gcloud sql instances
para modificar as opções de configuração.
gcloud sql instances patch INSTANCE_NAME \
--connection-pool-flags=CONFIGURATION_NAME=CONFIGURATION_VALUE
Substitua o seguinte:
INSTANCE_NAME
: o nome da instância do Cloud SQL para a qual quer modificar o agrupamento de ligações gerido.CONFIGURATION_NAME
: o nome da opção de configuração que quer modificar. Para ver uma lista de todas as opções de configuração disponíveis, consulte as opções de configuração avançadas.CONFIGURATION_VALUE
: o novo valor da opção de configuração que selecionou.
REST v1
Para modificar as configurações avançadas da funcionalidade Managed Connection Pooling,
use o seguinte comando e defina ConnectionPoolConfig
:
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o ID do projeto
- INSTANCE_ID: o ID da instância
Método HTTP e URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID
Corpo JSON do pedido:
{ "settings": { "connectionPoolConfig": { "flags": [ { "name": "CONFIGURATION_NAME", "value":"CONFIGURATION_VALUE" } ] } } }
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "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
Para modificar as configurações avançadas da funcionalidade Managed Connection Pooling,
use o seguinte comando e defina ConnectionPoolConfig
:
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o ID do projeto
- INSTANCE_ID: o ID da instância
Método HTTP e URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID
Corpo JSON do pedido:
{ "settings": { "connectionPoolConfig": { "flags": [ { "name": "CONFIGURATION_NAME", "value":"CONFIGURATION_VALUE" } ] } } }
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "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" }
Terraform
Para modificar as configurações avançadas da gestão de pool de ligações, use o seguinte recurso do Terraform:
Desative a partilha de ligações geridas para uma instância
Pode desativar o pool de ligações gerido para uma instância existente através daGoogle Cloud consola, da CLI gcloud ou da API Cloud SQL.
Para desativar a pool de ligações gerida para uma instância, faça o seguinte:
Consola
Na Google Cloud consola, aceda à página Instâncias do Cloud SQL.
Encontre a instância para a qual quer desativar a funcionalidade Managed Connection Pooling. Para abrir a página Vista geral da instância, clique no nome da instância.
Clique em Edit.
Em Personalize a sua instância, expanda Ligações.
Para desativar o agrupamento de ligações gerido, desmarque a caixa Ativar agrupamento de ligações gerido.
Clique em Guardar.
gcloud
Use o comando gcloud sql instances
para desativar a pool de ligações gerida.
gcloud sql instances patch INSTANCE_NAME \
--no-enable-connection-pooling
Substitua o seguinte:
PROJECT_ID
: o nome da instância do Cloud SQL para a qual quer desativar o agrupamento de ligações gerido.
REST v1
Para desativar a pool de ligações gerida para uma instância, use o seguinte comando e defina connectionPoolingEnabled
:
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o ID do projeto
- INSTANCE_ID: o ID da instância
Método HTTP e URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID
Corpo JSON do pedido:
{ "settings": { "connectionPoolConfig": { "connectionPoolingEnabled": false } } }
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "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
Para desativar a pool de ligações gerida para uma instância, use o seguinte comando e defina connectionPoolingEnabled
:
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o ID do projeto
- INSTANCE_ID: o ID da instância
Método HTTP e URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID
Corpo JSON do pedido:
{ "settings": { "connectionPoolConfig": { "connectionPoolingEnabled": false } } }
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "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" }
Terraform
Para desativar a pool de ligações gerida para uma instância, use o seguinte recurso do Terraform:
Veja o estado da funcionalidade Managed Connection Pooling para uma instância
Pode ver o estado da funcionalidade Managed Connection Pooling para uma instância através da Google Cloud consola, da CLI gcloud ou da API Cloud SQL.
Para ver o estado do Managed Connection Pooling para uma instância da edição Cloud SQL Enterprise Plus, faça o seguinte:
Consola
Na Google Cloud consola, aceda à página Instâncias do Cloud SQL.
Encontre a instância para a qual quer ver o estado do Managed Connection Pooling. Para abrir a página Vista geral da instância, clique no nome da instância.
A secção Ligações mostra se o agrupamento de ligações geridas está ativado ou desativado.
gcloud
gcloud sql instances describe INSTANCE_NAME
--format="value(settings.connectionPoolConfig.connectionPoolingEnabled)"
Substitua o seguinte:
PROJECT_ID
: o nome da instância do Cloud SQL para a qual quer ver o estado do pool de ligações gerido.Se a funcionalidade Managed Connection Pooling estiver ativada, é devolvida a seguinte resposta:
connectionPoolingEnabled: true
REST v1
Para ver o estado da funcionalidade Managed Connection Pooling para a sua instância do Cloud SQL, use o seguinte comando e procure connectionPoolingEnabled
:
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o ID ou o número do projeto do Google Cloud projeto que contém a instância.
- INSTANCE_NAME: o nome da instância do Cloud SQL. Se esta instância tiver o Private Service Connect ativado, os pontos finais do Private Service Connect nas redes VPC podem estabelecer ligação à mesma.
Método HTTP e URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "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
Para ver o estado da funcionalidade Managed Connection Pooling para a sua instância do Cloud SQL, use o seguinte comando e procure connectionPoolingEnabled
:
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o ID ou o número do projeto do Google Cloud projeto que contém a instância.
- INSTANCE_NAME: o nome da instância do Cloud SQL. Se esta instância tiver o Private Service Connect ativado, os pontos finais do Private Service Connect nas redes VPC podem estabelecer ligação à mesma.
Método HTTP e URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "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" }
Monitorize o conjunto de ligações gerido
Pode monitorizar o funcionamento da pool de ligações gerida nas suas instâncias do Cloud SQL através das seguintes métricas da pool de ligações gerida do Cloud SQL:
Nome da métrica | Descrição |
---|---|
threads | Monitoriza a contagem de threads no conjunto de ligações pelo respetivo estado. Os estados incluídos nesta métrica são:
|
pending_connection | O número de ligações ativas na fila de pooling. |
avg_wait_time | O tempo médio que o pedido de ligação passou à espera de um servidor. |
Para mais informações acerca destas métricas, consulte o artigo Métricas do Cloud SQL. Para ver estas métricas através da consola, consulte o artigo Ver métricas na página de vista geral da instância do Cloud SQL. Google Cloud
O que se segue?
- Veja métricas na página de vista geral da instância do Cloud SQL
- Vista geral da gestão de pools de ligações