Esta página descreve como ativar, configurar e monitorizar a funcionalidade 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.0ou posterior. - Confirme que a sua instância está a usar a nova arquitetura de rede do Cloud SQL. Se a sua instância ainda estiver a usar a arquitetura de rede antiga, atualize para a nova arquitetura de rede.
- Confirme se a sua instância tem as ligações de servidor necessárias por vCPU
atribuídas na flag
max_connectionspara as definições de configuração da sua base de dados. Para mais informações, consulte o artigo Ligações de servidor usadas pela funcionalidade de agrupamento de ligações geridas.
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 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.
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 geridas para uma instância
Depois de ativar a funcionalidade Managed Connection Pooling, pode personalizá-la para satisfazer 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. As configurações adicionadas à funcionalidade Managed Connection Pooling são aplicadas a todos os agrupadores de ligações usados pela instância. 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 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 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 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.
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
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 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": "POSTGRES_13",
"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": "POSTGRES_13",
"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 geridas
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 |
|---|---|
| num_pools | O número total de conjuntos de ligações por base de dados. |
| client_connection | Monitoriza a quantidade de associações pelo estado da associação
de cliente. Os estados incluídos nesta métrica são:
|
| server_connections | Monitoriza a contagem de ligações ao servidor pelo estado da ligação ao servidor. Os estados incluídos nesta métrica
são:
|
| client_connections_avg_wait_time | O tempo médio gasto por todos os clientes no estado de espera por 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