O escalonamento automático do pool de leitura adiciona ou remove automaticamente nós do pool de leitura no pool de leitura com base nas necessidades de carga de trabalho do seu aplicativo.
É possível controlar o escalonamento automático do pool de leitura limitando a utilização média da CPU em todo o pool ou o número de conexões de cliente com acesso permitido ao pool de leitura. Para isso, use uma das duas métricas de destino:
- Uso médio da CPU: permite definir o uso médio da CPU em que o pool de leitura vai operar. O pool de leitura aumenta ou diminui a escala automaticamente com base no uso da CPU da carga de trabalho do aplicativo.
- Média de conexões de banco de dados: permite especificar o número médio de conexões de banco de dados do cliente que devem ser atendidas por cada nó. O pool de leitura aumenta ou diminui a escala automaticamente com base no número de conexões de cliente.
Para aplicar essas métricas de destino, também é necessário definir uma contagem mínima e máxima de nós do pool de leitura.
Para ativar o escalonamento automático do pool de leitura, configure uma ou ambas as métricas de destino na instância. Se as duas métricas estiverem ativas, o Cloud SQL vai aplicar o número máximo de nós do pool de leitura indicado por ambas.
A tabela a seguir lista os limites para cada métrica de destino:
| Nome da métrica desejada | Limites | Métrica pública relacionada |
|---|---|---|
| Uso médio da CPU | Entre 0,1 e 0,9. | O uso médio da CPU (cloudsql.googleapis.com/database/cpu/utilization) em todos os nós do pool de leitura. |
| Média de conexões de banco de dados |
Entre 10 e 100.000.
Observação: o valor máximo aceitável está relacionado ao valor máximo definido pela flag de banco de dados max_connections.
|
Representa uma média de conexões de cliente do banco de dados (cloudsql.googleapis.com/database/network/connections) nos nós do pool de leitura.
|
Quando as condições para redimensionar o pool de leitura são atendidas, as operações de escalonamento automático do pool de leitura podem ser visualizadas no console do Google Cloud . Todas as outras operações no pool de leitura e na instância principal são bloqueadas até que o escalonamento automático do pool de leitura seja concluído.
Características do escalonamento automático do pool de leitura
As seguintes características se aplicam:
- As operações de redução de escalonamento horizontal removem apenas um nó por vez.
- As operações de escalonamento horizontal adicionam, em paralelo, quantos nós forem necessários.
- Por padrão, as operações de redução e expansão de escalonamento vertical são aplicadas. Você pode bloquear as operações de redução de escala desativando-as manualmente (
disableScaleIn). - Por padrão, um período de espera de 600 segundos é aplicado entre operações sucessivas de escalonamento automático do pool de leitura. É necessário um período de espera mínimo de 60 segundos, seja para escalonamento horizontal ou vertical.
- Ao definir uma métrica de destino, também é necessário definir a contagem mínima (
minNodeCount) e máxima (maxNodeCount) de nós do pool de leitura que você quer usar. Se você ativar o escalonamento automático em um pool de leitura atual, o tamanho dele precisará estar dentro do intervalo definido.
Limitações
Considere as seguintes limitações:
- O escalonamento automático do pool de leitura aceita no máximo 10 operações de escalonamento automático a cada 24 horas.
- Se você quiser criar um pool de leitura ou escalonar um pool de leitura atual, aguarde a conclusão das operações anteriores de criação e escalonamento. Isso se aplica a operações associadas ao pool de leitura e a outros pools de leitura associados à mesma instância principal. Se você tentar executar operações
simultâneas, poderá receber a seguinte mensagem de erro:
Operation failed because another operation was already in progress.
Antes de começar
Conclua todas as etapas de pré-requisito necessárias para criar um pool de leitura.
Use a versão 544.0.0 do
gcloudou mais recente.Use a versão 7.8.0 ou mais recente do provedor do Terraform.
Criar um pool de leitura com escalonamento automático ativado
Se você especificar um valor de destino de 0,50 para AVERAGE_CPU_UTILIZATION, os nós do pool de leitura serão adicionados ou removidos para manter a utilização média da CPU em todo o pool de leitura em 0,50 ou menos.
gcloud
Para criar um pool de leitura com o escalonamento automático ativado, execute o seguinte:
gcloud sql instances create READ_POOL_NAME \ --tier=MACHINE_TIER --edition=ENTERPRISE_PLUS \ --instance-type=READ_POOL_INSTANCE --node-count=NODE_COUNT \ --database-version=DATABASE_VERSION \ --master-instance-name=PRIMARY_INSTANCE_NAME \ --region=REGION --network=NETWORK_NAME \ --no-assign-ip \ --auto-scale-enabled \ --auto-scale-max-node-count=MAX_NODE_COUNT \ --auto-scale-min-node-count=MIN_NODE_COUNT \ --auto-scale-target-metrics=TARGET_METRIC_1=VALUE_1
Substitua:
- READ_POOL_NAME: o nome que você quer atribuir ao pool de leitura.
- MACHINE_TIER: a camada de máquina que você quer usar, como
db-perf-optimized-N-2. - NODE_COUNT: o número de nós do pool de leitura que você quer começar a usar.
- DATABASE_VERSION: a versão do banco de dados que você quer usar, como
POSTGRES_16. - PRIMARY_INSTANCE_NAME: o nome da instância principal que você quer usar.
- REGION: a região que você quer usar, como
us-east1. - NETWORK_NAME: o nome da rede que você quer usar.
- MAX_NODE_COUNT: o número máximo de nós do pool de leitura que você quer que o pool use, como
5. - MIN_NODE_COUNT: o número mínimo de nós do pool de leitura que você quer que o pool use, como
1. - TARGET_METRIC_1: a métrica de destino que você quer usar, como
as seguintes:
AVERAGE_CPU_UTILIZATIONAVERAGE_DB_CONNECTIONS
- VALUE_1: o valor que você quer atribuir à métrica de destino
indicada anteriormente. Por exemplo, para a métrica de destino
AVERAGE_CPU_UTILIZATION, você pode atribuir o valor0.50.
Terraform
Para criar um pool de leitura com o escalonamento automático ativado, use um recurso do Terraform.
O exemplo a seguir inclui recursos para a instância principal e o pool de leitura.
Aplique as alterações
Para aplicar a configuração do Terraform em um projeto Google Cloud , siga as etapas nas seções a seguir.
Preparar o Cloud Shell
- Inicie o Cloud Shell.
-
Defina o projeto Google Cloud padrão em que você quer aplicar as configurações do Terraform.
Você só precisa executar esse comando uma vez por projeto, e ele pode ser executado em qualquer diretório.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
As variáveis de ambiente serão substituídas se você definir valores explícitos no arquivo de configuração do Terraform.
Preparar o diretório
Cada arquivo de configuração do Terraform precisa ter o próprio diretório, também chamado de módulo raiz.
-
No Cloud Shell, crie um diretório e um novo
arquivo dentro dele. O nome do arquivo precisa ter a extensão
.tf, por exemplo,main.tf. Neste tutorial, o arquivo é chamado demain.tf.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
Se você estiver seguindo um tutorial, poderá copiar o exemplo de código em cada seção ou etapa.
Copie o exemplo de código no
main.tfrecém-criado.Se preferir, copie o código do GitHub. Isso é recomendado quando o snippet do Terraform faz parte de uma solução de ponta a ponta.
- Revise e modifique os parâmetros de amostra para aplicar ao seu ambiente.
- Salve as alterações.
-
Inicialize o Terraform. Você só precisa fazer isso uma vez por diretório.
terraform init
Opcionalmente, para usar a versão mais recente do provedor do Google, inclua a opção
-upgrade:terraform init -upgrade
Aplique as alterações
-
Revise a configuração e verifique se os recursos que o Terraform vai criar ou
atualizar correspondem às suas expectativas:
terraform plan
Faça as correções necessárias na configuração.
-
Para aplicar a configuração do Terraform, execute o comando a seguir e digite
yesno prompt:terraform apply
Aguarde até que o Terraform exiba a mensagem "Apply complete!".
- Abra seu Google Cloud projeto para conferir os resultados. No console do Google Cloud , navegue até seus recursos na interface para verificar se foram criados ou atualizados pelo Terraform.
Excluir as alterações
Para excluir as mudanças, faça o seguinte:
- Para desativar a proteção contra exclusão, no arquivo de configuração do Terraform, defina o argumento
deletion_protectioncomofalse.deletion_protection = "false"
- Para aplicar a configuração atualizada do Terraform, execute o comando a seguir e digite
yesno prompt:terraform apply
-
Remova os recursos aplicados anteriormente com a configuração do Terraform executando o seguinte comando e inserindo
yesno prompt:terraform destroy
REST v1
Para criar um pool de leitura com o escalonamento automático ativado, use uma solicitação POST com o método instances:insert.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- READ_POOL_NAME: o nome que você quer atribuir ao pool de leitura.
- REGION: a região em que você quer que a instância fique, como
us-central1. - PRIMARY_INSTANCE_ID: o ID da instância principal que você quer usar.
- PROJECT_ID: o ID do projeto em que você quer que o pool de leitura esteja localizado, como
my-project-name. - DATABASE_VERSION: a versão do banco de dados que você quer usar, como
MYSQL_8_0_37. - MACHINE_TIER: a camada de máquina que você quer usar, como
db-perf-optimized-N-2. - FULL_NETWORK_NAME: o nome da rede que você quer usar.
- MAX_NODE_COUNT: o número máximo de nós do pool de leitura que você quer que o pool use, como
10. - MIN_NODE_COUNT: o número mínimo de nós do pool de leitura que você quer que o pool use, como
2. - TARGET_METRIC_1: a métrica de destino que você quer usar, como
AVERAGE_CPU_UTILIZATIONouAVERAGE_DB_CONNECTIONS. É necessário definir pelo menos uma das duas métricas disponíveis. - VALUE_1: o valor que você quer atribuir à métrica de destino
indicada anteriormente. Por exemplo, para a métrica de destino
AVERAGE_CPU_UTILIZATION, você pode atribuir o valor0.50. - NODE_COUNT: a contagem de nós do pool de leitura que você quer começar, como
3.
Método HTTP e URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances
Corpo JSON da solicitação:
{
"name":"READ_POOL_NAME",
"region":"REGION",
"masterInstanceName":"PRIMARY_INSTANCE_ID",
"project":"PROJECT_ID",
"databaseVersion":"DATABASE_VERSION",
"settings":{
"tier":"MACHINE_TIER",
"edition":"ENTERPRISE_PLUS",
"ipConfiguration":{
"privateNetwork":"FULL_NETWORK_NAME",
"ipv4Enabled": false
},
"readPoolAutoScaleConfig":{
"enabled": true,
"minNodeCount": MIN_NODE_COUNT,
"maxNodeCount": MAX_NODE_COUNT,
"targetMetrics": [
{
"metric":"TARGET_METRIC_1",
"targetValue": VALUE_1
}
]
}
},
"instanceType":"READ_POOL_INSTANCE",
"nodeCount": NODE_COUNT
}
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/PRIMARY_INSTANCE_ID",
"status": "RUNNING",
"user": "user@example.com",
"insertTime": "2020-01-16T02:32:12.281Z",
"startTime": "2023-06-14T18:48:35.499Z",
"operationType": "CREATE",
"name": "OPERATION_ID",
"targetId": "PRIMARY_INSTANCE_ID",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
"targetProject": "PROJECT_ID"
}
REST v1beta4
Para criar um pool de leitura com o escalonamento automático ativado, use uma solicitação POST com o método instances:insert.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- READ_POOL_NAME: o nome que você quer atribuir ao pool de leitura.
- REGION: a região em que você quer que a instância fique, como
us-central1. - PRIMARY_INSTANCE_ID: o ID da instância principal que você quer usar.
- PROJECT_ID: o ID do projeto em que você quer que o pool de leitura esteja localizado, como
my-project-name. - DATABASE_VERSION: a versão do banco de dados que você quer usar, como
MYSQL_8_0_37. - MACHINE_TIER: a camada de máquina que você quer usar, como
db-perf-optimized-N-2. - FULL_NETWORK_NAME: o nome da rede que você quer usar.
- MAX_NODE_COUNT: o número máximo de nós do pool de leitura que você quer que o pool use, como
10. - MIN_NODE_COUNT: o número mínimo de nós do pool de leitura que você quer que o pool use, como
2. - TARGET_METRIC_1: a métrica de destino que você quer usar, como
as seguintes:
AVERAGE_CPU_UTILIZATIONAVERAGE_DB_CONNECTIONS
- VALUE_1: o valor que você quer atribuir à métrica de destino
indicada anteriormente. Neste exemplo, para a métrica de destino
AVERAGE_CPU_UTILIZATION, atribua o valor0.50. - NODE_COUNT: a contagem de nós do pool de leitura que você quer começar, como
3.
Método HTTP e URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances
Corpo JSON da solicitação:
{
"name":"READ_POOL_NAME",
"region":"REGION",
"masterInstanceName":"PRIMARY_INSTANCE_ID",
"project":"PROJECT_ID",
"databaseVersion":"DATABASE_VERSION",
"settings":{
"tier":"MACHINE_TIER",
"edition":"ENTERPRISE_PLUS",
"ipConfiguration":{
"privateNetwork":"FULL_NETWORK_NAME",
"ipv4Enabled": false
},
"readPoolAutoScaleConfig":{
"enabled": true,
"minNodeCount": MIN_NODE_COUNT,
"maxNodeCount": MAX_NODE_COUNT,
"targetMetrics": [
{
"metric":"TARGET_METRIC_1",
"targetValue": VALUE_1
}
]
}
},
"instanceType":"READ_POOL_INSTANCE",
"nodeCount": NODE_COUNT
}
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/PRIMARTY_INSTANCE_ID",
"status": "RUNNING",
"user": "user@example.com",
"insertTime": "2020-01-16T02:32:12.281Z",
"startTime": "2023-06-14T18:48:35.499Z",
"operationType": "CREATE",
"name": "OPERATION_ID",
"targetId": "PRIMARTY_INSTANCE_ID",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
"targetProject": "PROJECT_ID"
}
Ativar o escalonamento automático de um pool de leitura
Se você já tiver um pool de leitura criado, poderá ativar o escalonamento automático indicando a configuração que quer usar.
Por exemplo, se você especificar um valor de destino de 50 para AVERAGE_DB_CONNECTIONS, os nós serão adicionados ou removidos do pool de leitura para manter as conexões médias do banco de dados em todo o pool em 50 ou menos.
gcloud
Para ativar o pool de leitura com escalonamento automático em um pool de leitura atual, execute o comando a seguir.
gcloud sql instances patch INSTANCE --auto-scale-enabled --auto-scale-max-node-count=MAX_NODE_COUNT --auto-scale-min-node-count=MIN_NODE_COUNT --auto-scale-out-cooldown-seconds=COOLDOWN_SECONDS_SCALE_OUT --auto-scale-in-cooldown-seconds=COOLDOWN_SECONDS_SCALE_IN --auto-scale-target-metrics=TARGET_METRIC_1=VALUE_1
Substitua:
- INSTANCE_NAME: o nome da instância associada ao pool de leitura que você quer modificar.
- MAX_NODE_COUNT: o número máximo de nós do pool de leitura que você quer que o pool use, como
10. - MIN_NODE_COUNT: o número mínimo de nós do pool de leitura que você quer que o pool use, como
2. - COOLDOWN_SECONDS_SCALE_OUT (opcional): o tempo de espera ou de espera em
segundos entre a criação ou exclusão de nós do pool de leitura, como
180. É necessário um período de espera mínimo de 60 segundos. O valor padrão é de 600 segundos. - COOLDOWN_SECONDS_SCALE_IN (opcional): o tempo de espera ou de espera em
segundos entre a criação ou exclusão de nós do pool de leitura, como
180. É necessário um período de espera mínimo de 60 segundos. O valor padrão é de 600 segundos. - TARGET_METRIC_1: a métrica de destino que você quer usar, como
as seguintes:
AVERAGE_CPU_UTILIZATIONAVERAGE_DB_CONNECTIONS
- VALUE_1: o valor que você quer atribuir à métrica de destino
indicada anteriormente. Neste exemplo, para a métrica de destino
AVERAGE_DB_CONNECTIONS, atribua o valor50.
REST v1
Para ativar um pool de leitura com escalonamento automático, use o método PATCH.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID ou número do projeto do projeto Google Cloud que contém a instância.
- INSTANCE_ID: o ID da instância associada ao pool de leitura.
- MAX_NODE_COUNT: o número máximo de nós do pool de leitura que você quer que o pool use, como
10. - MIN_NODE_COUNT: o número mínimo de nós do pool de leitura que você quer que o pool use, como
2. - COOLDOWN_SECONDS (opcional): o tempo de espera ou de espera em
segundos entre a criação ou exclusão de nós do pool de leitura, como
180. - SCALE_IN_DISABLED (opcional): permite desativar o comportamento de
redução da escala do pool de leitura. Para desativar a redução vertical do pool de leitura, defina o valor como
true. - TARGET_METRIC_1: a métrica de destino que você quer usar, como
as seguintes:
AVERAGE_CPU_UTILIZATIONAVERAGE_DB_CONNECTIONS
- VALUE_1: o valor que você quer atribuir à métrica de destino
indicada anteriormente. Neste exemplo, para a métrica de destino
AVERAGE_DB_CONNECTIONS, atribua o valor50.
Método HTTP e URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID
Corpo JSON da solicitação:
{
"settings": {
"readPoolAutoScaleConfig": {
"enabled": true,
"minNodeCount": MIN_NODE_COUNT,
"maxNodeCount": MAX_NODE_COUNT,
"scaleOutCooldownSeconds": COOLDOWN_SECONDS,
"disableScaleIn": SCALE_IN_DISABLED,
"targetMetrics": [
{
"metric": "TARGET_METRIC_1",
"targetValue": VALUE_1
}
]
}
}
}
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
"status": "RUNNING",
"user": "user@example.com",
"insertTime": "2020-01-16T02:32:12.281Z",
"startTime": "2023-06-14T18:48:35.499Z",
"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 um pool de leitura com escalonamento automático, use o método PATCH.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID ou número do projeto do projeto Google Cloud que contém a instância.
- INSTANCE_ID: o ID da instância associada ao pool de leitura.
- MAX_NODE_COUNT: o número máximo de nós do pool de leitura que você quer que o pool use, como
10. - MIN_NODE_COUNT: o número mínimo de nós do pool de leitura que você quer que o pool use, como
2. - COOLDOWN_SECONDS (opcional): o tempo de espera ou de espera em
segundos entre a criação ou exclusão de nós do pool de leitura, como
180. - SCALE_IN_DISABLED (opcional): permite desativar o comportamento de
redução da escala do pool de leitura. Para desativar a redução vertical do pool de leitura, defina o valor como
true. - TARGET_METRIC_1: a métrica de destino que você quer usar, como
as seguintes:
AVERAGE_CPU_UTILIZATIONAVERAGE_DB_CONNECTIONS
- VALUE_1: o valor que você quer atribuir à métrica de destino
indicada anteriormente. Neste exemplo, para a métrica de destino
AVERAGE_DB_CONNECTIONS, atribua o valor50.
Método HTTP e URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID
Corpo JSON da solicitação:
{
"settings": {
"readPoolAutoScaleConfig": {
"enabled": true,
"minNodeCount": MIN_NODE_COUNT,
"maxNodeCount": MAX_NODE_COUNT,
"scaleOutCooldownSeconds": COOLDOWN_SECONDS,
"disableScaleIn": SCALE_IN_DISABLED,
"targetMetrics": [
{
"metric": "TARGET_METRIC_1",
"targetValue": VALUE_1
}
]
}
}
}
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID",
"status": "RUNNING",
"user": "user@example.com",
"insertTime": "2020-01-16T02:32:12.281Z",
"startTime": "2023-06-14T18:48:35.499Z",
"operationType": "UPDATE",
"name": "OPERATION_ID",
"targetId": "INSTANCE_ID",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
"targetProject": "PROJECT_ID"
}
Desativar o escalonamento automático de um pool de leitura
Siga estas etapas para desativar o escalonamento automático do pool de leitura.
gcloud
Para desativar o escalonamento automático do pool de leitura, execute o comando a seguir.
gcloud sql instances patch INSTANCE_NAME --no-auto-scale-enabled
Substitua:
- INSTANCE_NAME: o nome da instância associada ao pool de leitura que você quer modificar.
REST v1
Para desativar o escalonamento automático do pool de leitura, use o método PATCH.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID ou número do projeto do projeto Google Cloud que contém a instância.
- INSTANCE_ID: o ID da instância associada ao pool de leitura.
Método HTTP e URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID
Corpo JSON da solicitação:
{
"settings":{
"readPoolAutoScaleConfig":{
"enabled": false
}
}
}
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
"status": "RUNNING",
"user": "user@example.com",
"insertTime": "2020-01-16T02:32:12.281Z",
"startTime": "2023-06-14T18:48:35.499Z",
"operationType": "CREATE",
"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 o escalonamento automático do pool de leitura, use o método PATCH.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID ou número do projeto do projeto Google Cloud que contém a instância.
- INSTANCE_ID: o ID da instância associada ao pool de leitura.
Método HTTP e URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID
Corpo JSON da solicitação:
{
"settings":{
"readPoolAutoScaleConfig":{
"enabled": false
}
}
}
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID",
"status": "RUNNING",
"user": "user@example.com",
"insertTime": "2020-01-16T02:32:12.281Z",
"startTime": "2023-06-14T18:48:35.499Z",
"operationType": "CREATE",
"name": "OPERATION_ID",
"targetId": "INSTANCE_ID",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
"targetProject": "PROJECT_ID"
}
Ver métricas
Use os insights do sistema para conferir as métricas relevantes do seu pool de leitura.
Para AVERAGE_CPU_UTILIZATION, consulte o gráfico de métricas principais de utilização da CPU.
Para AVERAGE_DB_CONNECTIONS, consulte o gráfico de métricas principais Total de conexões.
Monitorar operações de escalonamento automático do pool de leitura
Quando as condições para acionar um evento de escalonamento automático do pool de leitura são atendidas, uma operação UPDATE é executada na instância. É possível conferir essa operação no console do Google Cloud .
As operações de escalonamento automático do pool de leitura podem levar 10 minutos ou mais para serem aplicadas à instância. As conexões atuais não serão transferidas para os nós do pool de leitura recém-adicionados. Isso significa que apenas as novas conexões serão afetadas pelo escalonamento automático do pool de leitura.
Enquanto a operação de escalonamento automático estiver em execução no pool de leitura, aguarde a conclusão dela antes de executar outras atualizações no pool de leitura ou na instância principal. Se você tentar executar solicitações simultâneas, poderá receber a seguinte mensagem de erro:
Operation failed because another operation was already in progress.
É possível inspecionar a instância do pool de leitura e conferir a mudança na contagem de nós:
gcloud sql instances describe READ_POOL_NAME | grep nodeCount
Substitua:
- READ_POOL_NAME: o nome do pool de leitura sobre o qual você quer receber informações.
Registros de auditoria de evento do sistema
Também é possível conferir a mensagem do registro de auditoria do evento do sistema associada ao método cloudsql.instances.readPoolAutoScale, que contém a contagem de nós antiga e nova.