Usar insights de consulta para melhorar o desempenho da consulta

Nesta página, descrevemos como usar o painel do Query Insights para detectar e analisar problemas de desempenho das consultas.

Introdução

O Query Insights ajuda a detectar, diagnosticar e evitar problemas de desempenho relacionados aos bancos de dados do Cloud SQL. Ele é compatível com monitoramento intuitivo e fornece informações de diagnóstico que ajudam você a ir além da detecção para identificar a causa raiz de problemas de desempenho.

Com o Query Insights, é possível monitorar o desempenho no nível do aplicativo e rastrear a origem de uma consulta problemática em toda a pilha do aplicativo por modelo, visualização, controlador, rota, usuário e host. A ferramenta Query Insights pode ser integrada às ferramentas de monitoramento de aplicativos (APM) atuais e aos serviços do Google Cloud usando APIs e padrões abertos. Assim, é possível monitorar e solucionar problemas de consulta usando sua ferramenta favorita.

O Query Insights ajuda a melhorar o desempenho de consulta SQL do Cloud SQL, orientando você pelas seguintes etapas:

Query Insights para a edição Cloud SQL Enterprise Plus

Se você estiver usando o Cloud SQL Enterprise Plus, poderá acessar outros recursos no Query Insights para realizar diagnósticos avançados de desempenho de consultas. Além dos recursos padrão do painel de insights de consulta, os insights de consulta do Cloud SQL Enterprise Plus permitem que você faça o seguinte:

  • Capturar e analisar eventos de espera para todas as consultas executadas.
  • Filtre a carga agregada do banco de dados por outras dimensões, como consultas, tags, tipos de evento de espera e muito mais.
  • Capturar planos de consulta para todas as consultas executadas.
  • Amostra de até 200 planos de consulta por minuto.
  • Capturar textos de consulta mais longos, de até 100 KB.
  • Receber atualizações quase em tempo real para métricas (na ordem de segundos).
  • Manter uma retenção de métricas de 30 dias.
  • Receber recomendações de índice do consultor de índice.
  • Encerrar uma sessão ou transação de longa duração em consultas ativas.
  • Acesse a solução de problemas assistida por IA (pré-lançamento).

A tabela a seguir compara os requisitos funcionais e os recursos do Query Insights para a edição Cloud SQL Enterprise com o Query Insights para a edição Cloud SQL Enterprise Plus.

Área de comparação Query Insights para a edição Cloud SQL Enterprise Query Insights para a edição Cloud SQL Enterprise Plus
Versões de banco de dados compatíveis PostgreSQL 9.6 ou mais recente PostgreSQL 12 ou mais recente
Tipos de máquina aceitos Compatível com todos os tipos de máquina Não há suporte em instâncias que usam um tipo de máquina com núcleo compartilhado ou em instâncias de réplica de leitura
Regiões compatíveis Locais regionais do Cloud SQL Locais regionais da edição Cloud SQL Enterprise Plus
Período de retenção de métricas 7 dias 30 dias
Limite máximo de tamanho da consulta 4.500 bytes 100 KB
Máximo de amostras do plano de consulta 20 200
Análise de evento em espera Indisponível Disponível.
Recomendações do consultor de índice Indisponível Disponível.
Encerrar sessões ou transações de longa duração em consultas ativas Indisponível Disponível.
Solução de problemas assistida por IA (pré-lançamento) Indisponível Disponível.
Limites de cardinalidade de consulta Informa as estatísticas agregadas de até as 100 principais consultas com uma combinação de endereços IP de cliente, bancos de dados, tags de aplicativo, nomes de usuário e texto de consulta por dia. Informa as estatísticas agregadas de até 4.000 consultas com uma combinação de tag de aplicativo, bancos de dados, nomes de usuário e ID de consulta por minuto.

Ativar o Query Insights para a edição Cloud SQL Enterprise Plus

Para ativar o Query Insights para a edição Cloud SQL Enterprise Plus, selecione Ativar recursos do Enterprise Plus ao ativar o Query Insights na instância da edição Cloud SQL Enterprise Plus.

Preços

Não há custo adicional para o Query Insights nas instâncias da edição Cloud SQL Enterprise ou da edição Cloud SQL Enterprise Plus.

Requisitos de armazenamento

Os Query Insights para a edição Cloud SQL Enterprise não ocupam espaço de armazenamento no espaço de armazenamento da instância do Cloud SQL. As métricas são armazenadas no Cloud Monitoring. Para solicitações de API, consulte os Preços do Cloud Monitoring. O Cloud Monitoring tem um nível que pode ser usado sem custo extra.

O Query Insights para a edição Cloud SQL Enterprise Plus armazena dados de métricas no mesmo disco anexado à instância do Cloud SQL e exige que você mantenha a configuração de aumento automático de armazenamento ativada.

O requisito de armazenamento para sete dias de dados é de aproximadamente 36 GB. Para 30 dias, você precisa de aproximadamente 155 GB. Os insights de consulta para o Cloud SQL Enterprise Plus usam até 10 MB de RAM (memória compartilhada). As métricas devem ser disponibilizadas no Query Insights em até 30 segundos após a conclusão da consulta. Sujeito às taxas de armazenamento aplicáveis.

Limitações

As seguintes limitações se aplicam ao Query Insights para instâncias da edição Cloud SQL Enterprise Plus:

  • Se a instância estiver passando por uma carga pesada do sistema, ao consultar dados de métricas no painel Query Insights, as consultas poderão demorar para carregar ou expirar.
  • Ao restaurar uma instância do Query Insights para Cloud SQL Enterprise Plus de um backup mais antigo, talvez você perca as métricas coletadas entre o momento em que o backup foi feito e o momento em que você restaurou a instância. Por exemplo, se você restaurar sua instância em 30 de abril com um backup feito em 25 de abril, poderá perder todas as métricas entre 25 e 30 de abril.
  • Se a instância usar o PostgreSQL 18 e estiver executando uma versão de manutenção anterior a 20260319.00_RC02, e a consulta tiver tags de comentário antes do início da instrução SQL, as tags do aplicativo poderão não ser armazenadas ao usar o Query Insights. Essa limitação se aplica às instâncias da edição Cloud SQL Enterprise Plus e da edição Cloud SQL Enterprise.

Antes de começar

Antes de usar o Query Insights, faça o seguinte.

  1. Adicione as permissões e os papéis necessários.
  2. Ative a API Cloud Trace.
  3. Se você estiver usando o Query Insights para o Cloud SQL Enterprise Plus, verifique se a opção Ativar crescimento automático de armazenamento está ativada para a instância.

Papéis e permissões necessárias

Para receber as permissões necessárias para acessar dados históricos de execução de consultas no painel do Query Insights, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto que hospeda a instância do Cloud SQL:

Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Também é possível conseguir as permissões necessárias usando papéis personalizados ou outros papéis predefinidos.

Ative a API Cloud Trace

Para ver os planos de consulta e as visualizações completas, seu projeto do Google Cloud precisa ter a API Cloud Trace ativada. Essa configuração permite que o projeto doGoogle Cloud receba dados de trace de fontes autenticadas sem custos adicionais. Esses dados podem ajudar a detectar e diagnosticar problemas de desempenho na instância.

Para confirmar se a API Cloud Trace está ativada, siga estas etapas:

  1. No console do Google Cloud , acesse APIs e serviços:

    Acessar APIs e Serviços

  2. Clique em Ativar APIs e serviços.
  3. Na barra de pesquisa, digite Cloud Trace API.
  4. Se a mensagem API ativada for exibida, isso significa que ela está ativada e não há ações adicionais. Caso contrário, clique em Ativar.

Ativar aumento automático de armazenamento

Se você estiver usando o Query Insights para a edição Cloud SQL Enterprise Plus, verifique se a configuração da instância para ativar o aumento automático de armazenamento permanece ativada. Por padrão, essa opção é ativada para instâncias do Cloud SQL.

Se você desativou essa configuração de instância anteriormente e quer ativar o Query Insights para a edição Cloud SQL Enterprise Plus, reative os aumentos automáticos de armazenamento primeiro. Não é possível desativar os aumentos automáticos de armazenamento e ativar o Query Insights para a edição Cloud SQL Enterprise Plus.

Ativar o Query Insights

Antes de ativar o Query Insights, observe os seguintes requisitos de reinicialização:

  • Se a instância estiver em execução com a versão de manutenção do PostgreSQL 20250302.00_RC30 ou anterior e você ativar o Query Insights para a edição Cloud SQL Enterprise Plus, a instância será reiniciada. A instância pode levar vários minutos para ficar disponível novamente. Como resultado, todas as outras operações são suspensas temporariamente, incluindo as seguintes:

    • Verificações de integridade
    • Logging
    • Monitoramento
    • Outras operações de instância
  • Se a instância estiver executando a versão de manutenção 20250302.00_RC31 ou mais recente do PostgreSQL e você ativar o Query Insights, não será necessário reiniciar, e as operações da instância vão continuar disponíveis.

  • O rastreamento de IP do cliente não é compatível com instâncias que têm o pool de conexões gerenciado ativado. Se a instância estiver usando o pool de conexões gerenciadas, os endereços IP do cliente para as portas 3307 e 6432 serão mostrados como local.

Console

Ativar o Query Insights para uma instância

  1. No console do Google Cloud , acesse a página Instâncias do Cloud SQL.

    Acesse "Instâncias do Cloud SQL"

  2. Para abrir a página Visão geral de uma instância, clique no nome dela.
  3. No bloco Configuração, clique em Editar configuração.
  4. Na seção Personalizar sua instância, expanda Query Insights.
  5. Marque a caixa de seleção Ativar Query insights.
  6. Opcional: selecione outros recursos para sua instância. Alguns recursos estão disponíveis apenas para a edição Cloud SQL Enterprise Plus.
  7. Recurso Descrição Cloud SQL Enterprise Cloud SQL Enterprise Plus
    Ativar recursos da edição Enterprise Plus Marque esta caixa de seleção para ativar o Query Insights para a edição Cloud SQL Enterprise Plus no Cloud SQL. O Query Insights para a edição Cloud SQL Enterprise Plus permite encerrar sessões e transações de longa duração em consultas ativas e aumenta a retenção de dados de métricas para 30 dias. Marque essa caixa de seleção para ativar a solução de problemas assistida por IA (pré-lançamento). Indisponível Disponível

    Padrão: desativado
    Análise de consulta ativa Permite analisar detalhes sobre as consultas em execução ativa. Se ativado no Cloud SQL Enterprise Plus, também será possível encerrar sessões e transações de longa duração. Marque esta caixa de seleção para ativar as consultas ativas na instância do Cloud SQL para PostgreSQL. Para mais informações, consulte Monitorar consultas ativas. Disponível

    Padrão: desativado
    Disponível

    Padrão: desativado
    Recomendações do consultor de índice Fornece recomendações de índice para acelerar o processamento de consultas. Para mais informações, consulte Usar o consultor de índice. Se a instância estiver em execução com a versão de manutenção do PostgreSQL `20250302.00_RC30` ou anterior e você ativar o consultor de índice, a instância será reiniciada. Se você desativar o consultor de índice, não será necessário reiniciar a instância. Indisponível Disponível

    Padrão: desativado
    Solução de problemas assistida por IA Marque esta caixa de seleção para ativar a detecção de anomalias de desempenho, a análise de causa raiz e de situação e receber recomendações para corrigir problemas com suas consultas e seu banco de dados. Esse recurso está em pré-lançamento, e só é possível ativá-lo e acessá-lo usando o console do Google Cloud . Para mais informações, consulte Observar e resolver problemas com a assistência de IA. Indisponível Disponível

    Padrão: desativado
    Armazenar endereços IP de clientes Marque esta caixa de seleção para ativar o armazenamento de endereços IP do cliente. O Cloud SQL pode armazenar os endereços IP de origem das consultas e permitir que você agrupe esses dados para gerar métricas. As consultas vêm de mais de um host. A análise de gráficos para consultas de endereços IP de clientes pode ajudar a identificar a origem de um problema. Disponível

    Padrão: desativado
    Disponível

    Padrão: desativado
    Armazenar tags de aplicativos Marque esta caixa de seleção para ativar o armazenamento de tags de aplicativos. Armazenar tags de aplicativos ajuda a determinar as APIs e as rotas modelo-visualização-controlador (MVC) que fazem solicitações e agrupam os dados para executar métricas. Essa opção exige que você comente consultas com um conjunto específico de tags usando a biblioteca de instrumentação automática de mapeamento relacional de objetos de código aberto (ORM, na sigla em inglês) sqlcommenter. Essas informações ajudam o Query Insights a identificar a fonte de um problema e o MVC de origem dele. Os caminhos de aplicativo ajudam no monitoramento de aplicativos. Disponível

    Padrão: desativado
    Disponível

    Padrão: desativado
    Personalizar o tamanho da consulta Marque esta caixa de seleção para personalizar o limite de tamanho de uma string de consulta. Comprimentos de consulta mais altos são mais úteis para consultas analíticas, mas também exigem mais memória. Qualquer string de consulta que ultrapasse o limite especificado será truncada na exibição.

    Se você executar a versão de manutenção do PostgreSQL 20250302.00_RC31 ou posterior, não será necessário reiniciar a instância ao mudar o limite de tamanho da consulta. Ainda é possível adicionar tags às consultas que excedem o limite de tamanho.
    É possível definir o limite em bytes de 256 bytes a 4500 bytes.

    Padrão: 1024.
    É possível especificar um limite em bytes de 1024 a 100000.



    Padrão: 10000 bytes.

    Definir a taxa de amostragem máxima Marque esta caixa de seleção para definir a taxa de amostragem máxima. A taxa de amostragem é o número de amostras do plano de consulta executadas que são capturadas por minuto em todos os bancos de dados na instância. Aumentar a taxa de amostragem pode proporcionar mais pontos de dados, mas pode aumentar a sobrecarga de desempenho. Para desativar a amostragem, defina o valor como 0. Mude esse valor para um número de 0 a 20.

    Padrão: 5.
    É possível aumentar o máximo para 200 para fornecer mais pontos de dados.

    Padrão: 200
  8. Clique em Salvar.

Ativar o Query Insights para várias instâncias

  1. No console do Google Cloud , acesse a página Instâncias do Cloud SQL.

    Acesse "Instâncias do Cloud SQL"

  2. Clique no menu Mais ações em qualquer linha.
  3. Selecione Ativar o Query Insights.
  4. Na caixa de diálogo, marque a caixa de seleção Ativar o Query Insights para várias instâncias.
  5. Clique em Ativar.
  6. Na caixa de diálogo subsequente, selecione as instâncias para as quais você quer ativar o Query Insights.
  7. Clique em Ativar o Query Insights.

gcloud

Para ativar o Query Insights em uma instância do Cloud SQL usando gcloud, execute gcloud sql instances patch com a flag --insights-config-query-insights-enabled da seguinte maneira, depois de substituir INSTANCE_ID pelo ID da instância.

    gcloud sql instances patch INSTANCE_ID \
    --insights-config-query-insights-enabled
  

Além disso, use uma ou mais das seguintes flags opcionais:

  • --insights-config-record-client-address

    Armazena os endereços IP do cliente de origem das consultas e ajuda a agrupar esses dados para gerar métricas. As consultas vêm de mais de um host. A análise de gráficos para consultas de endereços IP de clientes pode ajudar a identificar a origem de um problema.

  • --insights-config-record-application-tags

    Armazena tags de aplicativos que ajudam a determinar as APIs e as rotas modelo-visualização-controlador (MVC) que fazem solicitações e agrupam os dados para executar métricas. Essa opção requer que você comente consultas com um conjunto específico de tags. Para isso, use a biblioteca de instrumentação automática de mapeamento relacional de objetos de código aberto (ORM) sqlcommenter. Essas informações ajudam o Query Insights a identificar a origem de um problema e a MVC desse problema. Os caminhos de aplicativo ajudam no monitoramento de aplicativos.

  • --insights-config-query-string-length

    Define o limite de tamanho da consulta padrão. Comprimentos de consulta mais altos são mais úteis para consultas analíticas, mas também exigem mais memória. Se você executar a versão de manutenção do PostgreSQL 20250302.00_RC31 ou posterior, não será necessário reiniciar a instância ao alterar o limite de tamanho da consulta. Ainda é possível adicionar tags às consultas que excedem o limite de tamanho. Para a edição Cloud SQL Enterprise, é possível especificar um valor em bytes de 256 a 4500. O tamanho de consulta padrão é 1024 bytes. Para a edição Cloud SQL Enterprise Plus, é possível especificar um limite em bytes de 1024 a 100000. O valor padrão é 10000 bytes.

  • --insights-config-query-plans-per-minute

    Por padrão, no máximo cinco amostras de planos de consulta executadas são capturadas por minuto em todos os bancos de dados da instância. É provável que o aumento da taxa de amostragem ofereça mais pontos de dados, mas isso pode adicionar um overhead de desempenho. Para desativar a amostragem, defina esse valor como 0. Para a edição Cloud SQL Enterprise, é possível alterar o valor de 0 para 20. Para a edição Cloud SQL Enterprise Plus, é possível aumentar o máximo para até 200 para fornecer mais pontos de dados. Por padrão, a taxa de amostragem máxima é de 200 amostras de planos de consulta por minuto em todos os bancos de dados da instância.

Substitua:

gcloud sql instances patch INSTANCE_ID \
--insights-config-query-insights-enabled \
--insights-config-query-string-length=INSIGHTS_CONFIG_QUERY_STRING_LENGTH \
--insights-config-query-plans-per-minute=QUERY_PLANS_PER_MINUTE \
--insights-config-record-application-tags \
--insights-config-record-client-address \
--tier=API_TIER_STRING \
--region=REGION
  

REST v1

Para ativar o Query Insights para uma instância do Cloud SQL usando a API REST, chame o método instances.patch com as configurações insightsConfig.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • 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 da solicitação:

{
  "settings" : {
     "insightsConfig" : {
       "queryInsightsEnabled" : true,
       "recordClientAddress" : true,
       "recordApplicationTags" : true,
       "queryStringLength" : 1024,
       "queryPlansPerMinute" : 20,
   }
  }
}

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": "PENDING",
  "user": "user@example.com",
  "insertTime": "2025-03-28T22:43:40.009Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

Terraform

Se quiser usar o Terraform para ativar o Query Insights para uma instância do Cloud SQL, defina a flag query_insights_enabled como true.

Além disso, é possível usar uma ou mais das seguintes flags opcionais:

  • query_string_length: para a edição Cloud SQL Enterprise, é possível especificar um valor em bytes de 256 a 4500. O tamanho de consulta padrão é 1024 bytes. Para a edição Cloud SQL Enterprise Plus, é possível especificar um limite em bytes de 1024 a 100000. O valor padrão é 10000 bytes.
  • record_application_tags: defina o valor como true se quiser registrar as tags do aplicativo na consulta.
  • record_client_address: defina o valor como true se quiser gravar o endereço IP do cliente. O padrão é false.
  • query_plans_per_minute: para a edição Cloud SQL Enterprise, é possível definir o valor de 0 como 20. O padrão é 5. Para a edição Cloud SQL Enterprise Plus, é possível aumentar o máximo para até 200 para fornecer mais pontos de dados. A taxa de amostragem máxima padrão é de 200 amostras de planos de consulta por minuto em todos os bancos de dados na instância.

Veja um exemplo:

  resource "google_sql_database_instance" "INSTANCE_NAME" {
  name                = "INSTANCE_NAME"
  database_version    = "POSTGRESQL_VERSION"
  region              = "REGION"
  root_password       = "PASSWORD"
  deletion_protection = false # set to true to prevent destruction of the resource
  settings {
    tier = "DB_TIER"
    insights_config {
      query_insights_enabled  = true
      query_string_length     = 2048 # Optional
      record_application_tags = true # Optional
      record_client_address   = true # Optional
      query_plans_per_minute  = 10 # Optional
    }
  }
  }
  

Para aplicar a configuração do Terraform em um projeto do Google Cloud , conclua as etapas nas seções a seguir.

Preparar o Cloud Shell

  1. Inicie o Cloud Shell.
  2. Defina o projeto padrão do Google Cloud 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.

  1. 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 de main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. 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.tf recé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.

  3. Revise e modifique os parâmetros de amostra para aplicar ao seu ambiente.
  4. Salve as alterações.
  5. 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

  1. 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.

  2. Para aplicar a configuração do Terraform, execute o comando a seguir e digite yes no prompt:
    terraform apply

    Aguarde até que o Terraform exiba a mensagem "Apply complete!".

  3. Abra seu projeto do Google Cloud para ver os resultados. No console do Google Cloud , navegue até seus recursos na UI para verificar se foram criados ou atualizados pelo Terraform.

As métricas devem ser disponibilizadas no Query Insights alguns minutos após a conclusão da consulta. Revise a Política de retenção de dados do Cloud Monitoring.

Os traces do Query insights são armazenados no Cloud Trace. Revise a política de retenção de dados do Cloud Trace.

Visualizar o painel do Query insights

O painel do Query insights mostra a carga de consulta com base nos fatores selecionados. A carga de consulta é a medida do trabalho total de todas as consultas na instância no intervalo de tempo selecionado. O painel fornece uma série de filtros que ajudam você a visualizar a carga de consulta.

Para abrir o painel do Query Insights, siga estas etapas:

  1. Para abrir a página Visão geral de uma instância, clique no nome da instância.
  2. No menu de navegação do Cloud SQL, clique em Query Insights ou em Acessar o Query Insights para ver informações mais detalhadas sobre consultas e desempenho na página Visão geral da instância.
  3. O painel do Query Insights abre. Dependendo se você está usando o Query Insights para a edição Cloud SQL Enterprise ou para a edição Cloud SQL Enterprise Plus, o painel do Query Insights mostra as seguintes informações sobre sua instância:

Cloud SQL Enterprise Plus

Mostra o painel do Query Insights para a edição Enterprise Plus
          com menus para filtrar por banco de dados, usuário e endereço do cliente.
          Também é possível filtrar por período de 1 hora, 6 horas, 1 dia, 30 dias ou selecionar um período personalizado. Esse gráfico mostra a
          carga do banco de dados por tempo de execução em milissegundos
          para todas as consultas em um período de uma hora.
  • Todas as consultas: mostra a carga do banco de dados de todas as consultas no período selecionado. Cada consulta tem uma cor específica. Para ver um momento de uma consulta específica, mantenha o ponteiro sobre o gráfico da consulta.
  • Banco de dados: filtra a carga de consulta em um banco de dados específico ou em todos os bancos de dados.
  • Usuário: filtra o carregamento da consulta de uma conta de usuário específica.
  • Endereço do cliente: filtra a carga da consulta de um endereço IP específico.
  • Período: filtra a carga da consulta por períodos, como 1 hora, 6 horas, 1 dia, 7 dias, 30 dias ou um intervalo personalizado.
  • Tipos de evento de espera: filtra a carga de consulta por tipos de evento de espera de CPU e bloqueio.
  • Consultas, Tipos de evento de espera, Bancos de dados, Usuários, Tags e Endereços de cliente: classifique pelas principais dimensões que mais contribuem para a carga do banco de dados no gráfico. Consulte Filtrar a carga do banco de dados.

Cloud SQL Enterprise

Mostra o painel do Query insights, com menus suspensos
para bancos de dados, usuários e endereços. À direita dos menus suspensos, há um filtro para definir um período. Além disso,
         um gráfico mostra a carga do banco de dados das consultas mais frequentes. Na parte inferior
do gráfico, há caixas de seleção para a capacidade da CPU, CPU e espera
da CPU, espera de E/S e espera de bloqueio, além de uma guia para consultas e tags.
  • Banco de dados: filtra a carga de consulta em um banco de dados específico ou em todos os bancos de dados.
  • Usuário: filtra o carregamento da consulta de uma conta de usuário específica.
  • Endereço do cliente: filtra a carga da consulta de um endereço IP específico.
  • Período: filtra a carga da consulta por períodos, como 1 hora, 6 horas, 1 dia, 7 dias, 30 dias ou um intervalo personalizado.
  • Gráfico da carga do banco de dados: exibe o gráfico da carga de consulta com base nos dados filtrados.
  • Capacidade da CPU, CPU e espera da CPU, espera de E/S e espera de bloqueio: filtra cargas com base nas opções selecionadas. Veja detalhes sobre cada um desses filtros em Visualizar a carga do banco de dados das consultas mais frequentes.
  • Consultas e Tags: filtra a carga de consulta por uma consulta selecionada ou por uma tag de consulta SQL selecionada. Consulte Filtrar a carga do banco de dados.

Visualizar a carga do banco de dados de todas as consultas

A carga de consulta do banco de dados é uma medida do trabalho (em segundos de CPU) realizado pelas consultas executadas no banco de dados selecionado ao longo do tempo. Cada consulta em execução está usando ou aguardando recursos de CPU, recursos de E/S ou recursos de bloqueio. A carga de consulta do banco de dados é a proporção entre o tempo gasto por todas as consultas concluídas em uma determinada janela de tempo e o tempo real decorrido.

O painel de nível superior do Query Insights mostra o gráfico Carga do banco de dados — todas as consultas mais frequentes. Os menus suspensos no painel permitem filtrar o gráfico para um banco de dados, usuário ou endereço de cliente específico.

Cloud SQL Enterprise Plus

Mostra o gráfico de carga do banco de dados com uma carga para a capacidade da CPU, a CPU e a espera da CPU, a E/S de espera e a espera de bloqueio.

Cloud SQL Enterprise

Mostra o gráfico de carga do banco de dados com uma carga para a capacidade da CPU, a CPU e a espera da CPU, a E/S de espera e a espera de bloqueio.

As linhas coloridas no gráfico mostram a carga da consulta, dividida em categorias:

  • Capacidade da CPU: o número de CPUs disponíveis na instância.
  • CPU e espera de CPU: a proporção entre o tempo gasto pelas consultas em um estado ativo e o tempo real decorrido. As esperas de E/S e de bloqueio não bloqueiam consultas que estão em um estado ativo. Essa métrica pode significar que a consulta está usando a CPU ou aguardando o programador do Linux programar o processo do servidor que executa a consulta enquanto outros processos a usam.
  • Espera de E/S: a proporção entre o tempo gasto pelas consultas que estão aguardando E/S e o tempo real decorrido. Inclui a espera de E/S de leitura e de gravação. Se você quiser um detalhamento de informações para espera de IO, poderá vê-las no Cloud Monitoring. Consulte Métricas do Cloud SQL para mais informações. Para mais informações, consulte a tabela de eventos do PostgreSQL.
  • Espera de bloqueio: a proporção entre o tempo gasto pelas consultas que estão aguardando bloqueios e o tempo real decorrido. Inclui esperas de Lock, de LwLock e de BufferPin Lock. Para ver um detalhamento das informações sobre as esperas de bloqueio, use o Cloud Monitoring. Consulte Métricas do Cloud SQL para mais informações.

As linhas coloridas no gráfico mostram a carga por banco de dados por tempo de execução. Analise o gráfico e use as opções de filtragem para analisar estas perguntas:

  • A consulta está alta? O gráfico está piscando ou aumentando ao longo do tempo? Se você não vê uma carga alta, o problema não está nas consultas.
  • Quanto tempo a carga tem sido alta? Ela é alta apenas agora ou tem sido alta por muito tempo? Use o seletor de intervalo para selecionar vários períodos para descobrir quanto tempo durou o problema. Aumente o zoom para ver uma janela de tempo em que os picos de carga de consulta são observados. Diminua o zoom para ver até uma semana na linha do tempo.
  • O que está causando a carga alta? É possível selecionar opções para examinar a capacidade da CPU, a espera da CPU e da CPU, a espera de bloqueio ou a espera de E/S. O gráfico para cada uma dessas opções é uma cor diferente para que você possa identificar facilmente aquela com a carga mais alta. A linha azul-escura no gráfico mostra a capacidade máxima da CPU do sistema. Com ela, é possível comparar a carga de consulta com a capacidade máxima do sistema de CPU. Essa comparação ajuda você a saber se uma instância está ficando sem recursos de CPU.
  • Qual banco de dados está passando pela carga? Selecione diferentes bancos de dados no menu suspenso "Bancos de dados" para encontrar os bancos de dados com as cargas mais altas.
  • Usuários ou endereços IP específicos causam cargas mais altas? Selecione usuários e endereços diferentes nos menus suspensos para identificar aqueles que estão causando cargas mais altas.

Filtrar a carga do banco de dados

É possível filtrar a carga do banco de dados por consultas ou tags. Se você estiver usando o Query Insights para a edição Cloud SQL Enterprise Plus, poderá personalizar o gráfico de carga do banco de dados para detalhar os dados exibidos usando qualquer uma das seguintes dimensões:

  • Todas as consultas

  • Tipos de evento de espera

  • Eventos de espera

  • Bancos de dados

  • Usuários

  • Tags

  • Endereços de cliente

Para personalizar o gráfico de carga do banco de dados, selecione uma dimensão no menu suspenso Carga do banco de dados por tempo de execução.

Visualizar os principais fatores da carga do banco de dados

Para conferir os principais fatores da carga do banco de dados, use a tabela Principais dimensões por carga do banco de dados. A tabela Principais dimensões por carga do banco de dados mostra os principais colaboradores especialistas para o período e a dimensão selecionados no menu suspenso do gráfico Carga do banco de dados por tempo de execução. É possível modificar o período ou a dimensão para ver os colaboradores especialistas de uma dimensão ou período diferente.

Na tabela Principais dimensões por carga de dados, é possível selecionar as seguintes guias.

Tab Descrição
Consultas A tabela mostra as principais consultas normalizadas por tempo total de execução. Para cada consulta, os dados mostrados nas colunas são listados da seguinte forma:
  • Tempo médio de execução (ms): o tempo médio de execução da consulta.
    • A lista de entradas na coluna Tempo médio de execução (ms) pode não estar completa. Por exemplo, se uma consulta executada por um usuário específico for a causa de uma alta carga do banco de dados e se esse comportamento não for representativo do comportamento médio do usuário, a entrada para essa consulta do usuário poderá não ser incluída.
  • Tempo total de execução (ms): o tempo total de execução da consulta específica.
  • Média de linhas retornadas: a média de linhas buscadas para a consulta.
  • Horários chamados: o número de vezes que a consulta foi chamada pelo aplicativo.
  • %de carga por SELECTED_DIMENSION: o gráfico de linhas de porcentagem mostra como a dimensão selecionada é distribuída para a consulta específica.
Tipos de evento de espera A tabela mostra a lista dos principais tipos de eventos de espera ocorridos durante o período selecionado. Essa tabela está disponível apenas para o Query Insights da edição Cloud SQL Enterprise Plus.
  • Tempo médio gasto em espera (ms): tempo médio que as consultas gastaram no tipo de evento de espera específico.
  • Tempo total gasto em espera (ms): o tempo total de execução que as consultas gastaram no tipo de evento de espera específico.
  • Contagem de tipos de evento de espera: o número de vezes que um tipo de evento de espera específico ocorreu no período selecionado.
  • %de carregamento por SELECTED_DIMENSION: o gráfico de linhas de porcentagem mostra como a dimensão selecionada para o gráfico de carga do banco de dados é distribuída para o tipo de evento de espera específico.
eventos de espera A tabela mostra a lista dos principais eventos de espera ocorridos durante o período selecionado. Essa tabela está disponível apenas para o Query Insights da edição Cloud SQL Enterprise Plus.
  • Tempo médio gasto em espera (ms): tempo médio que as consultas gastaram no evento de espera específico.
  • Tempo total gasto em espera (ms): o tempo total de execução que as consultas gastaram no evento de espera específico.
  • Contagem de eventos de espera: o número de vezes que um tipo de evento de espera específico ocorreu no período selecionado.
  • %de carga por SELECTED_DIMENSION: o gráfico de linhas de porcentagem mostra como a dimensão selecionada para o gráfico de carga do banco de dados é distribuída para o evento de espera específico.
Bancos de dados A tabela mostra a lista dos principais bancos de dados que contribuíram para a carga durante o período escolhido em todas as consultas executadas.
  • Tempo médio gasto no banco de dados (ms): tempo médio que as consultas gastaram no banco de dados específico.
  • Tempo total gasto no banco de dados (ms): o tempo total de execução que as consultas gastaram no banco de dados específico.
  • %de carga por SELECTED_DIMENSION: o gráfico de linhas de porcentagem mostra como a dimensão selecionada para o gráfico de carga do banco de dados é distribuída no banco de dados específico.
Usuários A tabela mostra a lista dos principais usuários no período selecionado em todas as consultas executadas.
  • Tempo médio gasto no usuário (ms): tempo médio gasto pelas consultas no usuário específico.
  • Tempo total gasto no usuário (ms): o tempo total de execução que as consultas gastaram no usuário específico.
  • %de carga por SELECTED_DIMENSION: o gráfico de linhas de porcentagem mostra como a dimensão selecionada para o gráfico de carga do banco de dados é distribuída entre o usuário específico.
Tags Para informações sobre tags, Filtrar por tags de consulta.
Endereços de cliente A tabela mostra a lista dos principais usuários no período selecionado em todas as consultas executadas.
  • Tempo total gasto no endereço do cliente (ms): o tempo total de execução que as consultas gastaram para um cliente específico.
  • %de carga por SELECTED_DIMENSION: o gráfico de linhas de porcentagem mostra como a dimensão selecionada para o gráfico de carga do banco de dados é distribuída no cliente específico.

Filtrar por consultas

A tabela Principais dimensões por carga do banco de dados fornece uma visão geral das consultas que geram a maior parte da carga. A tabela mostra todas as consultas normalizadas para o período e as opções selecionadas no painel do Query Insights. Ela classifica as consultas pelo tempo total de execução durante o período selecionado.

Cloud SQL Enterprise Plus

Para classificar a tabela, selecione o título de uma coluna.

Mostra o gráfico de carga do banco de dados com uma carga para consultas, com filtros selecionados para capacidade de CPU, espera de CPU e CPU, espera de E/S e espera de bloqueio.

Cloud SQL Enterprise

Para classificar a tabela, selecione o título de uma coluna ou uma propriedade em Filtrar consultas.

Mostra o gráfico de carga do banco de dados com uma carga para consultas, com filtros selecionados para capacidade de CPU, espera de CPU e CPU, espera de E/S e espera de bloqueio.

A tabela mostra as seguintes propriedades:

  • Consulta: a string de consulta normalizada. Por padrão, o Query Insights mostra apenas 1.024 caracteres na string de consulta. As consultas rotuladas como UTILITY COMMAND geralmente incluem comandos BEGIN, COMMIT e EXPLAIN ou comandos de wrapper.
  • Banco de dados: o banco de dados em que a consulta foi executada.
  • Recomendações: as recomendações sugeridas, como Criar índices, para melhorar o desempenho da consulta.
  • Carga por tempo total/Carga por CPU/Carga por espera de E/S/Carga por espera: as opções em que você pode filtrar consultas específicas para encontrar a maior carga.
  • % de carregamento por consultas: a porcentagem de carregamento por consulta individual.
  • Analisar latência: se você ativou a solução de problemas assistida por IA (pré-lançamento) para essa instância, clique neste link para resolver problemas de consultas lentas.
  • Tempo médio de execução (ms): o tempo médio de execução da consulta.
  • Horários chamados: o número de vezes que o aplicativo chamou a consulta.
  • Média de linhas retornadas: a média de linhas retornadas para a consulta.

O Query insights armazena e exibe apenas consultas normalizadas.

Por padrão, o Query Insights não coleta endereços IP ou informações de tag. É possível ativar o Query Insights para coletar essas informações e, quando necessário, desativar a coleta.

Os traces do plano de consulta não coletam nem armazenam valores constantes e removem informações de PII que a constante talvez mostre.

Para o PostgreSQL 9.6 e 10, o Query Insights exibe consultas normalizadas, ou seja, ? substitui o valor literal da constante. No exemplo a seguir, a constante de nome é removida e ? a substitui.

  UPDATE
    "demo_customer"
  SET
    "customer_id" = ?::uuid,
    "name" = ?,
    "address" = ?,
    "rating" = ?,
    "balance" = ?,
    "current_city" = ?,
    "current_location" = ?
  WHERE
    "demo_customer"."id" = ?
  

Para o PostgreSQL 11 ou mais recente, $1, $2 e variáveis semelhantes substituem valores constantes literais.

  UPDATE
    "demo_customer"
  SET
    "customer_id" = $1::uuid,
    "name" = $2,
    "address" = $3,
    "rating" = $4,
    "balance" = $5,
    "current_city" = $6,
    "current_location" = $7
  WHERE
    "demo_customer"."id" = $8
  

Filtrar por tags de consulta

Para solucionar problemas em um aplicativo, você precisa adicionar tags às suas consultas SQL primeiro. As tags de carga de consulta fornecem um detalhamento do carregamento da consulta da tag selecionada ao longo do tempo.

O Query insights fornece monitoramento centrado no aplicativo para diagnosticar problemas de desempenho de aplicativos criados com o uso de ORMs. Se você for responsável por toda a pilha do aplicativo, o Query Insights fornecerá monitoramento de consulta a partir de uma visualização do aplicativo. A inclusão de tag de consulta ajuda a encontrar problemas em construções de nível superior, como na lógica de negócios ou em um microsserviço.

Marque as consultas pela lógica de negócios, por exemplo, usando as tags de pagamento, inventário, análise de negócios ou frete. Em seguida, é possível encontrar a carga de consulta criada por várias lógica de negócios. Por exemplo, você pode observar eventos inesperados, como picos para uma tag de análise de dados de negócios às 13h ou um crescimento inesperado de um serviço de pagamento em alta durante uma semana.

Para calcular a carga do banco de dados para a tag, o Query Insights usa o tempo gasto por cada consulta que usa a tag selecionada. A ferramenta calcula o tempo de conclusão no limite dos minutos usando o tempo convencional.

No painel do Query Insights, para ver a tabela de tags, selecione Tags. A tabela de tags as classifica pelo carregamento total por tempo total.

Mostra o painel do Query insights, com carga para tags e uma lista de tags.

É possível classificar a tabela selecionando uma propriedade, em Filtrar tags, ou clicando em um cabeçalho de coluna. A tabela mostra as seguintes propriedades:

  • Ação, controlador, framework, rota, aplicativo, driver DB: cada propriedade adicionada às consultas é mostrada como uma coluna. É preciso adicionar pelo menos uma dessas propriedades para filtrar por tags.
  • Carga por tempo total/Carga por CPU/Carga por espera de E/S/Carga por bloqueio: opções para filtrar consultas específicas para encontrar a maior carga para cada opção.
  • Tempo médio de execução (ms): o tempo médio de execução da consulta.
  • Média de linhas retornadas: a média de linhas retornadas para a consulta.
  • Horários chamados: o número de vezes que o aplicativo chamou a consulta.
  • Banco de dados: o banco de dados em que a consulta foi executada.

Ver detalhes de uma consulta ou tag específica

Para saber se uma consulta ou tag específica é a causa raiz do problema, faça o seguinte nas guias Consultas ou Tags, respectivamente:

  1. Para classificar a lista em ordem decrescente, clique no cabeçalho Carregar por tempo total.
  2. Clique na consulta ou tag na parte superior da lista. Ele tem a carga mais alta e está levando mais tempo do que os outros.

A página Detalhes da consulta é aberta e mostra os detalhes da consulta ou tag selecionada.

Examinar uma carga de consulta específica

A página Detalhes da consulta de uma consulta selecionada é exibida da seguinte forma:

Mostra os gráficos de latência e carga do banco de dados de uma
         consulta específica.

O gráfico Carga do banco de dados — consulta específica mostra uma medida do trabalho (em segundos da CPU) que a consulta normalizada executou na consulta selecionada ao longo do tempo. Para calcular a carga, é usado o tempo gasto pelas consultas normalizadas que são concluídas no limite de minutos para o tempo real decorrido. Na parte superior da tabela, são exibidos os primeiros 1.024 caracteres da consulta normalizada, com literais removidos para fins de agregação e PII.

Mostra o gráfico de carga do banco de dados com uma carga específica para consultas,
         com filtros selecionados para capacidade de CPU, espera de CPU e CPU, espera de pedido de veiculação e espera
         de bloqueio.

Como no gráfico de consultas totais, é possível filtrar a carga de uma consulta específica por Banco de dados, Usuário e Endereço do cliente. A carga de consulta é dividida em Capacidade da CPU, CPU e espera de CPU, Espera de E/S e Espera de bloqueio.

Analisar uma carga de consulta com tag específica

O painel de uma tag selecionada é exibido assim: Por exemplo, se todas as consultas de um pagamento de microsserviços forem marcadas como payment, será possível ver o volume de carga de consulta em alta visualizando a tag payment.

Mostra os gráficos de carga e latência do banco de dados na página para uma
         tag específica.

O gráfico Carga do banco de dados - tags específicas mostra uma medida do trabalho (em segundos de CPU) que as consultas com as tags selecionadas realizaram no banco de dados selecionado ao longo do tempo. Como no gráfico de consultas totais, é possível filtrar a carga de uma tag específica por Banco de dados, Usuário e Endereço do cliente.

Examinar operações em um plano de consulta de amostra

Um plano de consulta usa uma amostra da sua consulta e a divide em operações individuais. Ela explica e analisa cada operação na consulta.

O gráfico Amostras do plano de consulta mostra todos os planos de consulta sendo executados em momentos específicos e o tempo de execução de cada plano. É possível alterar a taxa em que as amostras do plano de consulta são capturadas por minuto. Consulte Ativar o Query Insights.

Um gráfico para amostras de planos de consulta,
com o tempo em que foram executados na parte inferior do gráfico (eixo x) e o número de segundos
em que foram executados à direita (eixo y).

Por padrão, o painel à direita mostra os detalhes do plano de consulta de amostra que leva mais tempo, conforme exibido no gráfico Amostras do Query insights. Para ver os detalhes de outro plano de consulta de amostra, clique no círculo relevante no gráfico. Os detalhes expandidos mostram um modelo de todas as operações no plano de consulta.

Cada operação mostra a latência, as linhas retornadas e o custo da operação. Quando você seleciona uma operação, pode ver mais detalhes, como blocos de hits compartilhados, o tipo de esquema, loops e linhas de planejamento.

O plano de consulta mostra a latência e o custo de cada operação executada para a consulta.

Para restringir o problema, observe o seguinte:

  1. Qual é o consumo de recursos?
  2. Como ele se relaciona com outras consultas?
  3. O consumo muda com o tempo?

Analisar um trace gerado por uma consulta de amostra

Além de visualizar o plano de consulta de amostra, use o Query Insights para visualizar um trace de aplicativo de ponta a ponta e contextualizado para uma consulta de amostra. Esse trace pode ajudar a identificar a origem de uma consulta problemática exibindo a atividade do banco de dados para uma solicitação específica. Além disso, as entradas de registro que o aplicativo envia ao Cloud Logging durante a solicitação são vinculadas ao trace, o que ajuda na investigação.

Para visualizar o trace no contexto, faça o seguinte:

  1. Na tela Consulta de amostra, clique na guia Trace de ponta a ponta. Essa guia exibe um gráfico de Gantt que detalha os períodos, que são registros de operações individuais, para o trace gerado pela consulta.
  2. Para ver mais detalhes sobre cada período, como atributos e metadados, selecione o período.

Também é possível ver o trace na página Explorador de traces. Para isso, clique em Ver no Cloud Trace. Para saber como usar a página Explorador de traces para analisar seus dados de trace, consulte Encontrar e analisar traces.

Examinar a latência

A latência é o período que uma consulta normalizada leva para ser concluída no tempo real. Use o gráfico Latência para examinar a latência na consulta ou tag. O painel de latência mostra as latências de 50º, 95º e 99º percentis para encontrar comportamentos atípicos.

A imagem a seguir mostra o gráfico de carga do banco de dados no 50º percentil de uma consulta específica com filtros selecionados para capacidade de CPU, espera de CPU e CPU, espera de pedido de veiculação e espera de bloqueio.

Mostra o gráfico de latência de uma consulta específica
         com filtros selecionados para a capacidade de CPU, a CPU e a espera da CPU, o pedido de veiculação de espera
         e a espera de bloqueio.

A latência de consultas paralelas é medida em tempo real decorrido, mesmo que a carga do Database seja maior para a consulta devido à utilização de vários núcleos para executar parte dela.

Para restringir o problema, observe o seguinte:

  • O que está causando a carga alta? Selecione as opções para observar a capacidade da CPU, a CPU e a espera da CPU, a espera de E/S ou a espera de bloqueio.
  • Quanto tempo a carga tem sido alta? Está alta no momento? Ou faz muito tempo? Altere o período para encontrar a data e a hora em que a carga começou a apresentar baixo desempenho.
  • Houve picos de latência? Altere o período para estudar a latência histórica da consulta normalizada.

Adicionar tags às consultas SQL

A marcação de consultas SQL simplifica a solução de problemas de aplicativos. Você pode usar sqlcommenter para adicionar tags às suas consultas SQL de maneira automática ou manual.

Usar o sqlcommenter com o ORM

Ao usar ORM em vez de escrever consultas SQL diretamente, talvez você não encontre o código do aplicativo que esteja causando desafios de desempenho. Talvez você também tenha problemas para analisar como o código do aplicativo afeta o desempenho da consulta. Para resolver esse problema, o Query Insights fornece uma biblioteca de código aberto chamada sqlCommenter. Essa biblioteca é útil para desenvolvedores e administradores que usam ferramentas ORM para detectar qual código do aplicativo está causando problemas de desempenho.

Se você estiver usando ORM e sqlcommenter juntos, as tags serão criadas automaticamente. Não é preciso adicionar nem alterar o código no app.

Você pode instalar o sqlcommenter no servidor de aplicativos. A biblioteca de instrumentação permite que as informações do aplicativo relacionadas ao framework do MVC sejam propagadas para o banco de dados e com as consultas como um comentário SQL. O banco de dados coleta essas tags e começa a registrar e agregar estatísticas por elas, que são ortogonais com as estatísticas agregadas por consultas normalizadas. O Query insights mostra as tags para que você saiba qual aplicativo está causando a carga da consulta e encontre o código do aplicativo que está causando problemas de desempenho.

Quando você examinar os resultados nos registros do banco de dados SQL, eles aparecerão assim:

    SELECT * from USERS /action='run+this',
    controller='foo%3',
    traceparent='00-01',
    tracestate='rojo%2'/
  

As tags compatíveis incluem nome, rota, framework e ação do controlador.

O conjunto de ferramentas do ORM no sqlcommenter é compatível com as seguintes linguagens de programação:

Python
  • Django
  • psycopg2
  • Sqlalchemy
  • Flask
Java
  • Hibernate
  • Spring
Ruby
  • Rails
Node.js
  • Knex.js
  • Sequelize.js
  • Express.js
PHP
  • Laravel
Go
  • http-tags
  • gorilla/mux
  • database/sql

Para mais informações sobre o sqlcommenter e como usá-lo no seu framework de ORM, consulte a documentação do sqlcommenter.

Usar sqlcommenter para adicionar tags

Se você não estiver usando o ORM, adicione manualmente as tags ou os comentários sqlcommenter no formato de comentário SQL correto à sua consulta SQL. Também é necessário ampliar cada instrução SQL com um comentário contendo um par de chave-valor serializado. Use pelo menos uma das seguintes chaves:

  • action=''
  • controller=''
  • framework=''
  • route=''
  • application=''
  • db driver=''

O Query insights remove todas as outras chaves.

Consultas ativas bloqueadas

Se uma consulta ativa específica estiver bloqueada ou em execução por muito mais tempo do que o esperado, ela poderá bloquear outras consultas dependentes.

O Cloud SQL oferece a opção de encerrar consultas ativas específicas de longa duração ou bloqueadas.

Para mais informações, consulte Consultas ativas bloqueadas.

Desativar o Query Insights

Console

Para desativar o Query Insights em uma instância do Cloud SQL usando o console do Google Cloud , siga estas etapas:

  1. No console do Google Cloud , acesse a página Instâncias do Cloud SQL.

    Acesse "Instâncias do Cloud SQL"

  2. Para abrir a página Visão geral de uma instância, clique no nome dela.
  3. No bloco Configuração, clique em Editar configuração.
  4. Na seção Opções de configuração, expanda Query insights.
  5. Desmarque a caixa de seleção Ativar Query insights.
  6. Clique em Save.

gcloud

Para desativar o Query Insights em uma instância do Cloud SQL usando gcloud, execute gcloud sql instances patch com a flag --no-insights-config-query-insights-enabled da seguinte maneira, depois de substituir INSTANCE_ID pelo ID da instância.

gcloud sql instances patch INSTANCE_ID \
  --no-insights-config-query-insights-enabled

REST

Para desativar o Query Insights de uma instância do Cloud SQL usando a API REST, chame o método instances.patch com queryInsightsEnabled definido como false.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • 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 da solicitação:

{
  "settings" : { "insightsConfig" : { "queryInsightsEnabled" : 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": "PENDING",
  "user": "user@example.com",
  "insertTime": "2021-01-28T22:43:40.009Z",
  "operationType": "UPDATE",
  "name": "operation-id",
  "targetId": "instance-id",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id",
  "targetProject": "project-id"
}

Terraform

Para usar o Terraform para desativar o Query Insights em uma instância do Cloud SQL, defina a flag query_insights_enabled como false.

Veja um exemplo:

  resource "google_sql_database_instance" "INSTANCE_NAME" {
  name                = "INSTANCE_NAME"
  database_version    = "POSTGRESQL_VERSION"
  region              = "REGION"
  root_password       = "PASSWORD"
  deletion_protection = false # set to true to prevent destruction of the resource
  settings {
    tier = "DB_TIER"
    insights_config {
      query_insights_enabled  = false
    }
  }
  }
  

Para aplicar a configuração do Terraform em um projeto do Google Cloud , conclua as etapas nas seções a seguir.

Preparar o Cloud Shell

  1. Inicie o Cloud Shell.
  2. Defina o projeto padrão do Google Cloud 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.

  1. 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 de main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. 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.tf recé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.

  3. Revise e modifique os parâmetros de amostra para aplicar ao seu ambiente.
  4. Salve as alterações.
  5. 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

  1. 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.

  2. Para aplicar a configuração do Terraform, execute o comando a seguir e digite yes no prompt:
    terraform apply

    Aguarde até que o Terraform exiba a mensagem "Apply complete!".

  3. Abra seu projeto do Google Cloud para ver os resultados. No console do Google Cloud , navegue até seus recursos na UI para verificar se foram criados ou atualizados pelo Terraform.

Desativar o Query Insights para a edição Cloud SQL Enterprise Plus

Para desativar o Query Insights na edição Cloud SQL Enterprise Plus, faça o seguinte:

  1. No console do Google Cloud , acesse a página Instâncias do Cloud SQL.

    Acesse "Instâncias do Cloud SQL"

  2. Para abrir a página Visão geral de uma instância, clique no nome dela.
  3. Clique em Editar.
  4. Na seção Personalizar sua instância, expanda Query Insights.
  5. Desmarque a caixa de seleção Ativar recursos do Enterprise Plus.
  6. Clique em Salvar.

A seguir