Nesta página, descrevemos como monitorar e solucionar problemas das consultas que estão ativas no seu banco de dados. 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 do 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 poderão ser limitados a um subconjunto do total de consultas devido às restrições de memória que o sistema impõe na coleta de dados.
Antes de começar
Para começar a ver as consultas ativas, ative os recursos avançados do Query Insights e a análise de consultas ativas na sua instância da seguinte forma:
No console Google Cloud , acesse a página Clusters.
Na lista de clusters e instâncias, clique em uma instância primária ou de pool de leitura.
Clique em Query Insights.
Clique em Edit Settings.
Na janela Editar configurações de insights de consulta, selecione Ativar os recursos avançados de insights de consulta para o AlloyDB > Análise de consultas ativas.
Clique em Salvar alterações.
Na janela As mudanças precisam ser reiniciadas, clique em Confirmar e reiniciar.
Você pode usar a assistência do Gemini Cloud Assist 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.
Visualizar consultas ativas
Para ver as consultas ativas, faça isto:
Crie um papel personalizado e adicione a permissão
databaseinsights.monitoringViewer
do Identity and Access Management (IAM).Adicione esse papel para cada usuário que verá as consultas ativas.
No console do Google Cloud , abra a página AlloyDB.
Clique no nome de um cluster para abrir a página Visão geral.
Selecione a guia Query Insights. O painel do Query Insights mostra detalhes sobre o cluster selecionado.
Clique na guia Visualização de consultas ativas. A guia contém um resumo das consultas ativas em execução e das 50 transações mais longas.
É possível filtrar as informações de uma das seguintes maneiras:
- 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 específico do banco de dados ou de todos os usuários.
- ID do nó: aparece apenas para instâncias do pool de leitura. Filtra a carga de consulta em um nó de instância do 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 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 conexões ativas com base em diferentes tipos de eventos de espera.
- Distribuição das durações de transações para consultas que não estão em estado inativo.
Transações em execução há mais tempo: fornece uma visão geral das 50 principais consultas em execução nos estados
active
eidle in transaction
com base no tempo de execução decrescente.
É possível conferir uma lista das 50 principais consultas ativas normalizadas no painel do 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 de exemplo 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 do 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ó da 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 em execução ativa. |
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 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.
Usar os campos Banco de dados e Usuário 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 de maior duração 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 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:
- Selecione a consulta na tabela Transação em execução há mais tempo.
- Role para a direita até a coluna Ação.
- Clique em Encerrar conexão.
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.