Monitorar consultas ativas

Nesta página, descrevemos como monitorar e solucionar problemas das consultas que estão ativas no seu banco de dados. As consultas ativas são consultas de longa duração no seu banco de dados que podem afetar o desempenho. O monitoramento dessas consultas pode ajudar a identificar as causas de latência do sistema e o alto uso da CPU.

É possível conferir as consultas ativas no painel Query insights. Essas consultas são exibidas pelo horário de início da transação. Se houver um grande número de consultas em execução, os resultados podem ser limitados a um subconjunto de consultas totais devido às restrições de memória que o sistema impõe na coleta de dados.

Antes de começar

Para começar a visualizar as consultas ativas, ative os Query Insights aprimorados e a análise de consultas ativas na sua instância da seguinte maneira:

  1. No console do Google Cloud, acesse a página Clusters.

    Acessar Clusters

  2. Na lista de clusters e instâncias, clique em uma instância primária ou pool de leitura.

  3. Clique em Query Insights.

  4. Clique em Edit Settings.

  5. Na janela Editar configurações dos Query Insights, selecione Ativar Query Insights aprimorados > Análise de consulta ativa.

  6. Clique em Salvar alterações.

  7. Na janela As alterações precisam ser reiniciadas, clique em Confirmar e reiniciar.

Você pode usar a assistência do Gemini em bancos de dados para monitorar e resolver problemas nos seus recursos do AlloyDB para PostgreSQL. Para mais informações, consulte Monitorar e resolver problemas com a assistência do Gemini.

Ver consultas ativas

Para ver as consultas ativas, faça isto:

  1. Crie um papel personalizado e adicione a permissão do Identity and Access Management (IAM) databaseinsights.monitoringViewer.

  2. Adicione esse papel para cada usuário que verá as consultas ativas.

  3. No console do Google Cloud, abra a página AlloyDB.

    Acessar o AlloyDB

  4. Clique no nome de um cluster para abrir a página Visão geral.

  5. Selecione a guia Query Insights. O painel Query insights mostra detalhes sobre o cluster selecionado.

  6. Clique na guia Visualização de consultas ativas. A guia contém um resumo das consultas ativas em execução e das 50 principais transações em execução há mais tempo.

    É possível filtrar as informações por:

    • 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 um usuário de banco de dados específico ou de todos os usuários.
    • ID do nó: aparece apenas para instâncias de pool de leitura. Filtra a carga de consulta em um nó de instância de pool de leitura específico ou em todos os nós.

    Visão geral do resumo de todas as consultas ativas normalizadas: fornece uma visão geral de todas as consultas ativas mostrando 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 conexões ativas com base em diferentes tipos de eventos de espera.
    • Distribuição de durações de transações para consultas que não estão em um estado inativo.

    Transações em execução há mais tempo: fornece uma visão geral das 50 principais consultas em execução no estado active e idle in transaction com base no tempo de execução decrescente.

É possível conferir uma lista das 50 principais consultas ativas normalizadas no painel Query Insights.

Uma consulta ativa normalizada remove dados sensíveis e retorna um resumo. Duas consultas idênticas, exceto pelos valores da cláusula WHERE, têm o mesmo resumo. Por exemplo, considere as três consultas a seguir:

  • select * from my_table where id = 1;
  • select * from my_table where id = 2;
  • select * from my_table where id = 100;

A versão normalizada dessas consultas é o seguinte resumo:

select * from my_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 a seguir descreve as colunas da tabela Transações em execução há mais tempo no painel Query Insights:

Nome da coluna Descrição
ID do processo O ID do processo é o identificador exclusivo da conexão de banco de dados.
ID do nó O ID do nó é o identificador exclusivo do nó de instância do pool de leitura em que uma consulta é executada.
Consulta Texto da consulta SQL normalizado.
Status O status atual da conexão. Os valores de status incluem active e idle in transaction.
Duração da sessão A duração da sessão atual (em segundos).
Duração da transação A duração da transação atual (em segundos).
Duração da consulta A duração da consulta ativa atual (em segundos). A duração das consultas no estado idle in transaction é 0, porque elas não estão sendo executadas ativamente.
Tipo de evento de espera O tipo de evento de espera que está ocorrendo durante a execução da consulta.
Evento de espera O evento de espera que está ocorrendo durante a execução da consulta.
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 do banco de dados conectado.
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.

Usar os campos Database e User para filtrar atualiza os dados na página.

Para analisar dados estáticos, desative a Atualização automática e use o campo Filtro da tabela Transações mais longas conforme necessário.

Encerrar uma consulta ou transação

Para encerrar uma consulta ou transação, você precisa ter o papel databaseinsights.operationsAdmin. Para mais informações, consulte Papéis básicos e predefinidos do IAM.

Uma transação pode conter várias consultas. Para identificar quais das consultas estão ativas no momento, consulte a coluna Consulta na tabela Transação em execução há mais tempo.

Para encerrar uma consulta ou transação, siga estas etapas:

  1. Selecione a consulta na tabela Transação em execução há mais tempo.
  2. Role para a direita até a coluna Ação.
  3. Clique em Encerrar conexão.
  4. Na janela Encerrar conexão, clique em Confirmar.

    A página é atualizada após iniciar o encerramento. Se o encerramento falhar, ela ficará silenciosa e a consulta continuará aparecendo na lista de consultas ativas. Se o encerramento for bem-sucedido, a consulta não será mais exibida na lista.

A seguir