Monitorar consultas ativas

Esta página descreve como monitorar e solucionar problemas de consultas em execução na instância do Spanner. Consultas ativas são consultas de longa duração que podem afetar o desempenho da instância. O monitoramento dessas consultas pode ajudar a identificar as causas da latência da instância e do alto uso da CPU.

Usando o Google Cloud console, é possível visualizar consultas ativas na página **Query Insights** do Spanner. Essas consultas são classificadas pelo horário de início. Se houver muitas consultas ativas, os resultados poderão ser limitados a um subconjunto do total de consultas devido às restrições de memória que o Spanner impõe na coleta de dados.

Antes de começar

Para receber as permissões necessárias para visualizar consultas ativas, peça ao administrador para conceder a você os seguintes papéis do IAM na instância:

Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Também é possível conseguir as permissões necessárias usando personalizados papéis ou outros predefinidos papéis.

Visualizar consultas ativas

Para visualizar consultas ativas de cada banco de dados, faça o seguinte:

  1. No Google Cloud console, acesse a página Instâncias do Spanner.

    Acessar a página "Instâncias" do Spanner

  2. Clique na instância que contém as consultas que você quer monitorar.

  3. No menu de navegação, clique em Query Insights.

  4. Use o menu Banco de dados para especificar o banco de dados que você quer monitorar.

  5. Clique na guia Consultas ativas. A guia contém um resumo das consultas ativas, além de uma tabela com as 50 consultas ativas de execução mais longa.

Visualizar consultas de execução mais longa

A tabela a seguir descreve as colunas padrão na tabela Consultas de execução mais longa na guia Consultas ativas:

Nome da coluna Descrição
ID da consulta O identificador exclusivo da consulta.
Consulta O texto da consulta SQL.
Impressão digital Hash da tag de solicitação ou, se uma tag não estiver presente, um hash do texto da consulta SQL.
Horário de início O carimbo de data/hora de quando a consulta foi iniciada.
Duração da consulta A duração da consulta ativa em execução.
Ação Contém um link para encerrar a consulta.

Quando a opção Atualização automática está ativada, a tela é atualizada a cada 60 segundos.

É possível usar o botão Opções de exibição de colunas para selecionar qualquer uma das seguintes colunas opcionais a serem exibidas na tabela "Consultas de execução mais longa":

Nome da coluna Descrição
Endereço IP do cliente O endereço IP do cliente que solicitou a consulta. Às vezes, o endereço IP do cliente pode ser editado. O endereço IP mostrado aqui é consistente com os registros de auditoria e segue as mesmas diretrizes de edição. Para mais informações, consulte Endereço IP do autor da chamada em registros de auditoria. O Spanner recomenda solicitar o endereço IP do cliente somente quando ele for necessário, já que as solicitações de endereços IP do cliente podem gerar latência adicional.
Região do servidor A região em que o servidor raiz do Spanner processa a consulta. Para mais informações, consulte Ciclo de vida de uma consulta.
Tipo de transação O tipo de transação da consulta. Os valores possíveis são READ_ONLY, READ_WRITE e NONE.
Cabeçalho do cliente de API O cabeçalho api_client do cliente.
Prioridade A prioridade da consulta. Para visualizar as prioridades disponíveis, consulte RequestOptions.
Cabeçalho do user agent O cabeçalho user_agent que o Spanner recebe do cliente.

Encerrar uma consulta

É possível encerrar uma consulta em execução na instância. O encerramento de uma consulta pode ajudar a liberar recursos e reduzir a carga na instância. O encerramento de uma consulta é uma operação de melhor esforço.

A página do Google Cloud console é atualizada depois que você inicia o encerramento. Se o encerramento for bem-sucedido, a consulta será removida da tabela. Se o encerramento falhar, ele será feito em segundo plano, e a consulta continuará aparecendo na tabela Consultas de execução mais longa.

O Spanner pode não cancelar uma consulta quando os servidores estão ocupados. Você pode tentar encerrar uma consulta novamente para cancelá-la.

Para receber a permissão necessária para encerrar uma consulta, peça ao administrador para conceder a você o papel do IAM de Leitor de banco de dados do Cloud Spanner (spanner.databaseReader) na instância.

Esse papel predefinido contém a spanner.sessions.delete permissão, que é necessária para encerrar uma consulta.

Para encerrar uma consulta, faça o seguinte:

  1. Selecione a consulta que você quer encerrar na tabela Consultas de execução mais longa.
  2. Na coluna Ações, clique em Encerrar.
  3. Na janela Encerrar consulta, clique em Confirmar.

Para encerrar várias consultas, faça o seguinte:

  1. Selecione as consultas que você quer encerrar na tabela Consultas de execução mais longa.
  2. Clique em Encerrar consultas selecionadas.
  3. Na janela Encerrar as seguintes consultas, clique em Confirmar.

A seguir