Monitorize consultas ativas

Esta página descreve como monitorizar e resolver problemas das consultas ativas na sua base de dados. As consultas ativas são consultas de execução prolongada na sua base de dados que podem afetar o desempenho. A monitorização destas consultas pode ajudar a identificar as causas da latência do sistema e da elevada utilização da CPU.

Pode ver as consultas ativas no painel de controlo de estatísticas de consultas. Estas consultas são apresentadas pela hora de início da transação. Se estiver a executar um grande número de consultas, os resultados podem ser limitados a um subconjunto do total de consultas devido às restrições de memória que o sistema aplica à recolha de dados.

Antes de começar

Para começar a ver as consultas ativas, tem de ativar as funcionalidades avançadas de estatísticas de consultas e ativar a análise de consultas ativas para a sua instância da seguinte forma:

  1. Na Google Cloud consola, aceda à página Clusters.

    Aceda a Clusters

  2. Na lista de clusters e instâncias, clique numa instância principal ou read pool.

  3. Clique em Estatísticas de consultas.

  4. Clique em Editar definições.

  5. Na janela Editar definições de estatísticas de consultas, selecione Ativar funcionalidades avançadas de estatísticas de consultas para o AlloyDB > Análise de consultas ativas.

  6. Clique em Guardar alterações.

  7. Na janela As alterações requerem o reinício, clique em Confirmar e reiniciar.

Pode usar a assistência do Gemini Cloud Assist para ajudar a monitorizar e resolver problemas dos seus recursos do AlloyDB para PostgreSQL. Para mais informações, consulte o artigo Monitorize e resolva problemas com a assistência do Gemini.

Veja as consultas ativas

Para ver as suas consultas ativas, faça o seguinte:

  1. Crie uma função personalizada e adicione a autorização databaseinsights.monitoringViewer de gestão de identidade e de acesso (IAM).

  2. Adicione esta função para cada utilizador que esteja a ver consultas ativas.

  3. Na Google Cloud consola, abra a página AlloyDB.

    Aceder ao AlloyDB

  4. Clique no nome de um cluster para abrir a respetiva página Vista geral.

  5. Selecione o separador Estatísticas de consultas. O painel de controlo de estatísticas de consultas mostra detalhes sobre o cluster selecionado.

  6. Clique no separador Vista de consultas ativas. O separador contém um resumo das consultas ativas em execução, juntamente com as 50 transações de execução mais longa.

    Pode filtrar as informações por qualquer uma das seguintes opções:

    • Base de dados: filtra a carga de consultas numa base de dados específica ou em todas as bases de dados.
    • Utilizador: filtra a carga de consultas de um utilizador específico da base de dados ou de todos os utilizadores.
    • ID do nó: apresentado apenas para instâncias do conjunto de leitura; filtra a carga de consultas num nó de instância do conjunto de leitura específico ou em todos os nós.

    Tabela de dados de resumo de todas as consultas ativas normalizadas: oferece uma vista geral de todas as consultas ativas, apresentando o total de associações com base nos seguintes parâmetros:

    • Distribuição de ligações ativas categorizadas por estado de ligação.
    • Distribuição de associações ativas com base em diferentes tipos de eventos de espera.
    • Distribuição das durações das transações para consultas que não estão num estado inativo.

    Transações com execução mais longa: apresenta uma vista geral das 50 principais consultas em estado active e idle in transaction com base no tempo de execução descendente.

Pode ver uma lista das cinquenta principais consultas ativas normalizadas no painel de controlo de estatísticas de consultas.

Uma consulta ativa normalizada remove os dados confidenciais e devolve um resumo. Duas consultas idênticas, exceto para os valores da cláusula WHERE, têm o mesmo resumo. Por exemplo, considere as seguintes três consultas de exemplo:

  • 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 destas consultas é o seguinte resumo:

select * from my_table where id = ?;

Uma consulta executada em sessões diferentes é apresentada como entradas diferentes no painel de controlo.

Veja as principais transações de execução mais longa

A tabela seguinte descreve as colunas da tabela Transações com maior duração no painel de controlo de estatísticas de consultas:

Nome da coluna Descrição
ID do processo O ID do processo é o identificador exclusivo da ligação à base de dados.
ID do nó O ID do nó é o identificador exclusivo do nó da instância do conjunto de leitura no qual uma consulta é executada.
Consulta Texto da consulta SQL normalizado.
Estado O estado atual da associação. Os valores de estado 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, uma vez que não estão a ser executadas ativamente.
Tipo de evento de espera O tipo de evento de espera que ocorre durante a execução da consulta.
Evento de espera O evento de espera que ocorre durante a execução da consulta.
Bases de dados Nome da base de dados na qual esta ligação está a ser executada.
Nome da aplicação Nome da aplicação na qual esta ligação está a ser executada.
Nome de utilizador Nome do utilizador da base de dados ligado à base de dados.
Endereço do cliente Endereço IP específico do cliente que enviou uma consulta.
Ação Contém um link para terminar uma transação.

O ecrã é atualizado automaticamente a cada 60 segundos.

A utilização dos campos Base de dados e Utilizador para filtragem atualiza os dados na página.

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

Termine uma consulta ou uma transação

Para terminar uma consulta ou uma transação, tem de ter a função de databaseinsights.operationsAdmin. Para mais informações, consulte a referência de funções básicas e predefinidas 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 com execução mais longa.

Para terminar uma consulta ou uma transação, conclua os passos seguintes:

  1. Selecione a consulta na tabela Transação com execução mais longa.
  2. Desloque a página para a direita até à coluna Ação.
  3. Clique em Terminar ligação.
  4. Na janela Terminar ligação, clique em Confirmar.

    A página é atualizada após o início do encerramento. Se a terminação falhar, não é emitida qualquer notificação e a consulta continua a ser apresentada na lista de consultas ativas. Se o encerramento for bem-sucedido, a consulta deixa de ser apresentada na lista.

O que se segue?