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
Para ativar a funcionalidade Managed Connection Pooling para uma instância existente, faça o seguinte:
Consola
Na Trusted 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.
REST v1
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
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
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 avançadas, os respetivos valores predefinidos e intervalos, consulte o artigo Opções de configuração avançadas.
Para modificar as opções de configuração avançadas de agrupamento de ligações geridas para uma instância, faça o seguinte:
Consola
Na Trusted 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 união avançadas 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.CONFIGURATION_NAME
: o nome da opção de configuração. Para ver uma lista de todas as opções de configuração avançadas, consulte o artigo Opções de configuração avançadas.CONFIGURATION_VALUE
: o novo valor da opção de configuração selecionada.
REST v1
Para modificar a gestão de pool de ligações
Configurações avançadas,
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 a gestão de pool de ligações
Configurações avançadas,
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 a gestão de pools de ligações configurações avançadas, 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 daTrusted 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 Trusted 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.
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 Trusted 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 Trusted 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
Use o comando gcloud sql instances describe para ver o estado da pool de ligações geridas de uma instância:
gcloud sql instances describe INSTANCE_NAME
--format="value(settings.connectionPoolConfig.connectionPoolingEnabled)"
Substitua o seguinte:
PROJECT_ID
: o nome da instância do Cloud SQL.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 Trusted 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 Trusted 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. Trusted 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