Nesta página, descrevemos como monitorar e solucionar problemas das consultas que estão ativas no seu banco de dados. O monitoramento dessas consultas pode ajudar a identificar as causas de latência do sistema e o alto uso da CPU.
No painel do Query Insights, você pode ver um resumo das transações ativas e uma lista de transações com consultas e estatísticas associadas. As transações são exibidas pelo horário de início da transação. Se houver um número grande de consultas em execução, os resultados poderão ser limitados a um subconjunto do total de consultas.
Antes de começar
Para monitorar consultas ativas, use a edição Cloud SQL Enterprise ou Cloud SQL Enterprise Plus.
Para encerrar uma sessão ou uma transação de longa duração em consultas ativas, use a edição Cloud SQL Enterprise Plus na instância do Cloud SQL.
Para mais informações sobre as edições do Cloud SQL, consulte Introdução às edições do Cloud SQL.
Papéis e permissões necessárias
Para receber as permissões necessárias para visualizar consultas ativas, peça que o administrador conceda a você os seguintes papéis do IAM no projeto que hospeda a instância do Cloud SQL:
-
Visualizar o resumo da atividade da instância:
leitor do Cloud SQL (
roles/cloudsql.viewer) -
Visualizar o resumo da atividade do banco de dados e transações de longa duração:
leitor do Database Insights (
roles/databaseinsights.viewer) -
Encerrar uma sessão ou transação de longa duração:
- Editor do Cloud SQL (
roles/cloudsql.editor) - Administrador de operações do Database Insights (
roles/databaseinsights.operationsAdmin)
- Editor do Cloud SQL (
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 têm as permissões necessárias para visualizar consultas ativas. Para acessar as permissões exatas que são necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As permissões a seguir são necessárias para visualizar consultas ativas:
-
Visualizar o resumo da atividade do banco de dados e transações de longa duração:
-
databaseinsights.activeQueries.fetch -
databaseinsights.activitySummary.fetch
-
Essas permissões também podem ser concedidas com papéis personalizados ou outros papéis predefinidos.
Ativar consultas ativas
Para ativar consultas ativas em uma instância do Cloud SQL Enterprise, faça o seguinte:
-
No Google Cloud console, 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, expanda Query Insights.
- Verifique se a opção Ativar o Query Insights está ativada.
- Selecione Análise de consulta ativa.
- Clique em Salvar.
Para ativar consultas ativas em uma instância do Cloud SQL Enterprise Plus, faça o seguinte:
-
No Google Cloud console, 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, expanda Query Insights.
- Verifique se a opção Ativar o Query Insights está ativada.
- Selecione Ativar recursos da edição Enterprise Plus.
- Selecione Análise de consulta ativa.
- Clique em Salvar.
Para encerrar uma sessão ou transação de longa duração em consultas ativas, use o Query Insights para a edição Cloud SQL Enterprise Plus.
Desativar consultas ativas
Para desativar consultas ativas em uma instância do Cloud SQL Enterprise ou Cloud SQL Enterprise Plus, faça o seguinte:
-
No Google Cloud console, 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, expanda Query Insights.
- Desmarque a caixa de seleção Análise de consulta ativa.
- Clique em Salvar.
Visualizar consultas ativas
Para visualizar as consultas ativas, siga estas etapas:
No Google Cloud console, acesse a página Instâncias do Cloud SQL.
Para abrir a página Visão geral de uma instância, clique no nome da instância.
Siga um dos procedimentos abaixo para exibir o painel do Query Insights:
- Selecione a guia Query Insights.
- Clique em Acessar o Query Insigths para ver informações mais detalhadas sobre consultas e desempenho. O painel do Query Insights abre. Ele mostra detalhes sobre a instância na parte superior.
Clique na guia Consultas ativas.
Nela, é possível modificar as informações de consulta que aparecem na tabela Transações em execução há mais tempo:
- Bancos de dados: filtra a carga de consulta em um banco de dados específico ou em todos os bancos de dados.
- Usuário: filtra a carga de consulta de uma conta de usuário específica.
Visão geral do resumo de todas as consultas ativas: fornece uma visão geral de todas as consultas ativas exibindo o total de conexões com base nos seguintes parâmetros:
- Distribuição de conexões ativas categorizadas por estado da conexão.
- Distribuição de transações ativas com base no estado da transação.
- Distribuição de durações de consultas.
- Transações em execução há mais tempo: fornece uma visão geral das 50 principais consultas em execução (nos estados ativo e inativo em transação) com base no tempo de execução decrescente. É possível filtrar e ordenar as consultas ativas na tabela.
Ver consultas ativas normalizadas
É possível ver uma lista das principais transações de longa duração com consultas ativas normalizadas no painel do Query Insights. Uma consulta ativa normalizada remove dados sensíveis e retorna um resumo. O resumo é igual para valores diferentes usados no exemplo a seguir:
Consultas regulares
select * from test_table where id=1;select * from test_table_where id=2;
Resumo ou consulta normalizada
select * from test_table where id=?;
Uma consulta executada em sessões diferentes é exibida como entradas diferentes no painel.
Ver as principais transações em execução há mais tempo
A tabela Transações em execução há mais tempo no painel do Query Insights contém as seguintes colunas:
| Nome da coluna | Descrição |
|---|---|
| ID do processo | Identificador exclusivo da conexão ou do ID da linha de execução. |
| Consulta | Texto da consulta SQL. |
| Status | Status da conexão. |
| Duração da sessão | Duração da última sessão em execução. |
| Duração da transação | Duração da transação ativa em execução. |
| Duração da consulta | Duração da última consulta executada nessa transação. |
| Tipo de evento de espera | Tipo do evento de espera ocorrendo. |
| Evento de espera | Evento de espera ocorrendo. |
| Banco de dados | Nome do banco de dados em que essa conexão está em execução. |
| Nome do aplicativo | Nome do aplicativo em que essa conexão está em execução. |
| Nome de usuário | Nome do usuário conectado ao banco de dados. |
| Endereço do cliente | Endereço IP específico do cliente que enviou uma consulta. |
| Ação | Contém um link para encerrar uma transação. |
A tela é atualizada automaticamente a cada 60 segundos.
Use o Opções de exibição de conteúdo... menu vertical para filtrar as colunas que você quer mostrar.
Encerrar um processo
Para encerrar um processo ou transação de longa duração em consultas ativas, use a edição Cloud SQL Enterprise Plus e ative a Análise de consulta ativa e o Query Insights para a edição Cloud SQL Enterprise Plus.
As operações de longa duração podem levar mais tempo para serem encerradas.
Para encerrar uma consulta ou transação, siga estas etapas:
- Na tabela Transação em execução há mais tempo, selecione uma consulta.
- Na coluna Ação, clique em Encerrar conexão.
- Na janela Encerrar conexão, clique em Confirmar.
Se o sistema encerrar com sucesso a consulta ou a transação, uma mensagem de êxito será exibida. Se necessário, o sistema também realizará uma reversão.
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.
Ativar a análise de consultas ativas bloqueadas
Por padrão, Google Cloud oconsole não mostra quais consultas ativas estão bloqueadas.
Para analisar consultas ativas bloqueadas, os seguintes requisitos se aplicam:
- Use uma instância da edição Cloud SQL Enterprise Plus.
- Ative consultas ativas na instância.
Para ativar a análise de consultas ativas bloqueadas, faça o seguinte:
Console
-
No Google Cloud console, 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.
- Expanda a seção Query Insights.
- Selecione Ativar recursos da edição Enterprise Plus e Análise de consulta ativa. As duas configurações são necessárias.
- Selecione Análise de consulta bloqueada.
- Clique em Salvar.
Identificar e encerrar uma consulta ativa bloqueada
As etapas a seguir mostram como identificar e encerrar uma consulta ativa específica que pode estar bloqueando outras consultas.
Console
-
No Google Cloud console, 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 menu de navegação do SQL, clique em Query Insights.
- Clique na guia Consultas ativas.
Se você ainda não tiver consultas ativas em execução, acesse Cloud SQL Studio e execute as consultas que você quer investigar.
- Navegue até a seção Transações em execução há mais tempo. É possível conferir até 50 das consultas ativas de execução mais longa em cada categoria.
Cada entrada exibida inclui as seguintes informações:
- ID do processo: o ID do processo da consulta. Clique em expandir
para visualizar a entrada. É possível conferir um destes dois ícones:
- Ícone de ampulheta: indica que o processo está aguardando a conclusão de outra consulta. Se um número for incluído ao lado do ícone, ele indicará quantas consultas dependentes estão aguardando a conclusão desse processo.
- Ícone de símbolo de bloco: indica que o processo não pode ser concluído e pode estar bloqueando outras consultas.
- Tipo de consulta: o tipo de consulta em execução, como
SELECTouUPDATE. - Status: o status da consulta ativa, como
ACTIVE. - Duração da sessão (segundos): a duração da sessão atual (em segundos).
- Duração da transação (segundos): a duração da transação ativa atual (em segundos).
- Duração da consulta (segundos): a duração da consulta ativa atual (em segundos).
- Tipo de evento de espera: o tipo de evento de espera que está ocorrendo atualmente durante a execução da consulta, como Tempo limite ou Bloqueio.
- Evento de espera: o evento de espera que está ocorrendo atualmente durante a execução das consultas.
- Ação: ações possíveis a serem tomadas, como Encerrar conexão.
Clique para expandir o ID do processo que você quer investigar. É possível expandir processos subjacentes até três níveis de profundidade na árvore de investigação.
- ID do processo: o ID do processo da consulta. Clique em expandir
para visualizar a entrada. É possível conferir um destes dois ícones:
- Identifique a consulta específica que está bloqueada e clique em Encerrar conexão. Depois de encerrar a conexão, você pode navegar para Cloud SQL Studio para executar suas consultas ativas novamente.