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:
- Leitor do Cloud Spanner (
roles/spanner.viewer) - Leitor de banco de dados do Cloud Spanner (
roles/spanner.databaseReader)
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:
No Google Cloud console, acesse a página Instâncias do Spanner.
Clique na instância que contém as consultas que você quer monitorar.
No menu de navegação, clique em Query Insights.
Use o menu Banco de dados para especificar o banco de dados que você quer monitorar.
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:
- Selecione a consulta que você quer encerrar na tabela Consultas de execução mais longa.
- Na coluna Ações, clique em Encerrar.
- Na janela Encerrar consulta, clique em Confirmar.
Para encerrar várias consultas, faça o seguinte:
- Selecione as consultas que você quer encerrar na tabela Consultas de execução mais longa.
- Clique em Encerrar consultas selecionadas.
- Na janela Encerrar as seguintes consultas, clique em Confirmar.
A seguir
- Saiba mais sobre como analisar o desempenho da consulta.
- Saiba mais sobre as estatísticas de consultas ativas mais antigas.