Esta página descreve como usar o painel do Query insights para detectar e analisar problemas de desempenho.
Introdução
Os insights de consulta ajudam 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.
O Query insights ajuda a melhorar o desempenho de consulta do Cloud SQL, orientando você pelas seguintes etapas:
- Conferir a carga do banco de dados das consultas mais frequentes
- Identificar uma consulta potencialmente problemática
Consultar insights para o Cloud SQL Enterprise Plus
Se você estiver usando o Cloud SQL edição Enterprise Plus, poderá acessar outros recursos nos insights de consulta para realizar diagnósticos avançados de desempenho de consulta. Além dos recursos padrão do painel de insights de consulta, os insights de consulta para a edição Enterprise Plus do Cloud SQL permitem:
- Capturar texto de consulta mais longo, de até 20 KB
- Manter uma retenção de métricas de 30 dias
- Receber recomendações de índice do consultor de índice
- Encerrar uma sessão em consultas ativas
A tabela a seguir compara os requisitos funcionais e os recursos dos insights de consulta do Cloud SQL Enterprise com os do Cloud SQL Enterprise Plus.
Área de comparação | Insights de consulta para a edição Enterprise do Cloud SQL | Consultar insights para o Cloud SQL Enterprise Plus |
---|---|---|
Versões de banco de dados com suporte |
Todas as versões das seguintes instâncias:
O Query Insights não é compatível com instâncias da edição Express do SQL Server. |
SQL Server Enterprise versão 2019 ou 2022 |
Tipos de máquina compatíveis | Compatível com todos os tipos de máquina | Não oferece suporte a instâncias que usam um tipo de máquina com núcleo compartilhado |
Regiões compatíveis | Locais regionais do Cloud SQL | Locais regionais da edição do Cloud SQL Enterprise Plus |
Período de armazenamento de métricas | 7 dias | 30 dias |
Limite máximo de comprimento da consulta | 4.500 bytes | 20 KB |
Recomendações do consultor de índice | Indisponível | Disponível |
Encerrar sessões em consultas ativas | Indisponível | Disponível |
Para ativar os insights de consulta na edição Cloud SQL Enterprise Plus durante a pré-visualização da sua instância do Cloud SQL Enterprise Plus, siga as etapas em Ativar os insights de consulta na edição Cloud SQL Enterprise Plus.
Preços
Não há custo extra para gerar o Query insights. Além disso, não há custo para ativar os insights de consulta do Cloud SQL edição Enterprise Plus, que está em pré-lançamento.
Requisitos de armazenamento
Os insights de consulta armazenam dados de métricas na instância e exigem que você mantenha a configuração de aumento automático de armazenamento ativada. Sujeito a taxas de armazenamento aplicáveis.
Antes de começar
Antes de usar os insights de consulta, faça o seguinte:
- Adicione papéis e permissões necessários.
- Verifique se a opção Ativar aumento automático de armazenamento está ativada para a instância.
Papéis e permissões necessárias
Para usar os insights de consulta, é necessário conceder papéis com as permissões necessárias de gerenciamento de identidade e acesso ou fornecer uma conta de usuário com as permissões necessárias.
Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.
Para receber as permissões necessárias para acessar dados históricos de execução de consultas no painel de insights de consultas, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto que hospeda a instância do Cloud SQL:
-
Leitor de monitoramento de insights do banco de dados (
roles/databaseinsights.monitoringViewer
) -
Leitor do Cloud SQL (
roles/cloudsql.viewer
)
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Esses papéis predefinidos contêm as permissões necessárias para acessar dados históricos de execução de consultas no painel de insights de consultas. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As permissões a seguir são necessárias para acessar dados históricos de execução de consultas no painel "Insights de consulta":
-
databaseinsights.aggregatedStats.query
-
databaseinsights.timeSeries.query
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Por exemplo, no Database Insights, você pode pedir ao administrador para conceder a você o papel predefinido de Leitor do Database Insights (roles/databaseinsights.viewer
). Em seguida, no Cloud SQL, peça ao administrador para conceder a você um dos seguintes papéis predefinidos:
- Editor do Cloud SQL (
roles/cloudsql.editor
) - Administrador do Cloud SQL (
roles/cloudsql.admin
)
Ativar aumento automático de armazenamento
Verifique se a configuração da instância para ativar o aumento automático de armazenamento permanece ativada.Se você tiver desativado essa configuração de instância, ative novamente o aumento automático de armazenamento antes de ativar os insights de consulta.
Ativar o Query Insights
Os usuários com acesso ao painel do Cloud SQL podem acessar as métricas dos insights de consulta. Se você tiver permissão para atualizar instâncias, poderá ativar os insights de consulta. Para uma lista de permissões necessárias para instâncias do Cloud SQL, consulte Controle de acesso de projetos do Cloud SQL. Se você não tiver essas permissões e quiser ativar o Query Insights nas suas instâncias, entre em contato com o administrador.
Console
Ativar o Query Insights para uma instância
-
No console do Google Cloud, acesse a página Instâncias do Cloud SQL.
- Para abrir a página Visão geral de uma instância, clique no nome dela.
- No bloco Configuração, clique em Editar configuração.
- Na seção Personalizar sua instância, abra Insights de consulta.
- Marque a caixa de seleção Ativar Query insights.
- Opcional. Selecione um ou mais dos seguintes recursos adicionais de insights de consulta:
- Clique em Salvar.
Personalizar o tamanho da consulta
Padrão: 1024
Define o limite de tamanho da consulta como um valor especificado de 256 a 4.500 bytes. Comprimentos de consulta mais altos são mais úteis para consultas analíticas, mas também exigem mais memória. Se você mudar o tamanho da consulta, reinicie a instância.
Ativar insights de consulta para várias instâncias
-
No console do Google Cloud, acesse a página Instâncias do Cloud SQL.
- Clique no menu Mais ações em qualquer linha.
- Selecione Ativar o Query Insights.
- Na caixa de diálogo, marque a caixa de seleção Ativar o Query Insights para várias instâncias.
- Clique em Ativar.
- Na caixa de diálogo seguinte, selecione as instâncias para as quais você quer ativar o Query Insights.
- 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-query-string-length
Define o limite de tamanho da consulta padrão como um valor especificado de 256 a 4.500 bytes. O tamanho de consulta padrão é 1024 bytes. Comprimentos de consulta mais altos são mais úteis para consultas analíticas, mas também exigem mais memória. Se você mudar o tamanho da consulta, vai precisar reiniciar a instância.
Substitua:
- INSIGHTS_CONFIG_QUERY_STRING_LENGTH: o tamanho da string de consulta a ser armazenado em bytes.
- API_TIER_STRING: a configuração de instância personalizada a ser usada na instância.
- REGION: a região da instância.
gcloud sql instances patch INSTANCE_ID \ --insights-config-query-insights-enabled \ --insights-config-query-string-length=INSIGHTS_CONFIG_QUERY_STRING_LENGTH \ --tier=API_TIER_STRING \ --region=REGION
REST v1
Para ativar o Query Insights em 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/sql/v1beta4/projects/project-id/instances/instance-id
Corpo JSON da solicitação:
{ "settings" : { "insightsConfig" : { "queryInsightsEnabled" : true } } }
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 e ativar o Query Insights em 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
: o padrão é1024
e pode ser configurado com um valor entre256
e4500
em bytes. -
record_application_tags
: defina o valor comotrue
se quiser registrar as tags do aplicativo na consulta. -
record_client_address
: defina o valor comotrue
se quiser gravar o endereço IP do cliente. -
query_plans_per_minute
: o padrão é5
e pode ser configurado com um valor entre5
e20
.
Veja um exemplo:
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
- Inicie o Cloud Shell.
-
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.
-
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.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.
- 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
yes
no prompt:terraform apply
Aguarde até que o Terraform exiba a mensagem "Apply complete!".
- Abra seu projeto do Google Cloud para ver os resultados. No console do Google Cloud, navegue até seus recursos na IU para verificar se foram criados ou atualizados pelo Terraform.
As métricas devem ser disponibilizadas nos insights de consulta alguns minutos após a conclusão da consulta.
Ativar os insights de consulta para o Cloud SQL Enterprise Plus
É possível ativar os insights de consulta do Cloud SQL Enterprise Plus na sua instância do Cloud SQL somente usando o console do Google Cloud.
-
No console do Google Cloud, acesse a página Instâncias do Cloud SQL.
- Para abrir a página Visão geral de uma instância, clique no nome dela.
- Clique em Editar.
- Na seção Armazenamento, verifique se a caixa de seleção Ativar aumento automático de armazenamento está marcada.
- Na seção Personalizar sua instância, abra Insights de consulta.
- Marque a caixa de seleção Ativar recursos da edição Enterprise Plus.
Depois de ativar os insights de consulta para a edição Enterprise Plus do Cloud SQL, você pode atualizar os seguintes campos:
Personalizar tamanho da consulta: especifique o limite, em bytes, do tamanho da consulta. Você pode especificar um número de
256
a20480
. Qualquer string de consulta que ultrapasse o limite especificado é truncada na tela. Um limite de comprimento de consulta maior requer mais memória. O valor padrão é10240
bytes (10 KB).
Clique em Salvar.
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:
- Para abrir a página Visão geral de uma instância, clique no nome da instância.
- Selecione a guia Insights de consulta no painel de navegação à esquerda ou clique no link Acessar insights de consulta para mais informações sobre consultas e desempenho.
O painel do Query insights é aberto. Ele mostra as seguintes informações sobre a instância:

- Bancos de dados: filtra a carga de consulta em um banco de dados específico ou em todos os bancos de dados.
- Intervalo de tempo: 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 de carga do banco de dados: exibe o gráfico de carga de consulta com base nos dados filtrados.
- Consultas e bancos de dados: filtra a carga de consulta por uma consulta ou um banco de dados selecionado. 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) que as consultas executadas no banco de dados selecionado realizam 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 insights sobre consultas de nível superior mostra o gráfico Carga do banco de dados por tempo de execução. Os menus suspensos no painel permitem filtrar o gráfico para todos os bancos de dados ou um banco de dados específico.

As linhas coloridas no gráfico mostram a carga do 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á aumentando ou se elevando 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 e descobrir quanto tempo durou o problema. Aumente o zoom para conferir 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.
- 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.
Filtrar a carga do banco de dados
É possível filtrar a carga do banco de dados por consultas. Se você estiver usando os insights de consulta 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
Bancos de dados
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.
Conferir os principais contribuintes para a carga do banco de dados
Para conferir os principais contribuintes para a 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 para o período e a dimensão selecionados no menu suspenso Carga do banco de dados por tempo de execução. É possível modificar o período ou a dimensão para conferir os principais colaboradores de outra dimensão ou período.
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 de execução total.
Para cada consulta, os dados mostrados nas colunas são listados da seguinte maneira:
|
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.
|
Filtrar por consultas
A tabela Consultas fornece uma visão geral das consultas que geram a maior parte da carga. A tabela mostra todas as consultas normalizadas para a janela de tempo e opções selecionadas no painel do Query insights. Ela classifica as consultas pelo tempo total de execução durante o período selecionado.
Para classificar a tabela, selecione um cabeçalho de coluna. A tabela mostra as seguintes propriedades:
- Consulta: a string de consulta normalizada. Por padrão, os insights de consulta mostram apenas 1.024 caracteres na string de consulta.
- Banco de dados: o banco de dados em que a consulta foi executada.
- Tempo médio de execução (ms): o tempo médio de execução da consulta.
- Tempo total de execução (ms): o tempo total de execução da consulta.
- Horários chamados: o número de vezes que o aplicativo chamou a consulta.
- Média de linhas retornadas: o número médio de linhas retornadas para a consulta.
O Query insights armazena e exibe apenas consultas normalizadas.
Desativar insights de consulta
Console
Para desativar o Query insights em uma instância do Cloud SQL usando o console do Google Cloud, siga estas etapas:
-
No console do Google Cloud, acesse a página Instâncias do Cloud SQL.
- Para abrir a página Visão geral de uma instância, clique no nome dela.
- No bloco Configuração, clique em Editar configuração.
- Na seção Opções de configuração, expanda Query insights.
- Desmarque a caixa de seleção Ativar Query insights.
- Clique em Save.
gcloud
Para desativar os insights de consulta 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" }
Desativar os insights de consulta para o Cloud SQL Enterprise Plus
Para desativar os insights de consulta na edição Enterprise Plus do Cloud SQL, faça o seguinte:
-
No console do Google Cloud, acesse a página Instâncias do Cloud SQL.
- Para abrir a página Visão geral de uma instância, clique no nome dela.
- Clique em Editar.
- Na seção Personalizar sua instância, abra Insights de consulta.
- Desmarque a caixa de seleção Ativar recursos da edição Enterprise Plus.
- Clique em Salvar.
A seguir
- Blog de lançamento: Observabilidade do banco de dados para desenvolvedores: introdução ao Cloud SQL Insights
- Blog: Melhore suas habilidades de solução de problemas de desempenho das consultas com o Cloud SQL Insights
- Vídeo: Introdução ao Cloud SQL Insights
- Podcast: Insights do Cloud SQL
- Codelab do Insights