Nesta página, descrevemos como monitorar e solucionar problemas de consultas que estão sendo executadas na sua 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 console do Google Cloud , é possível conferir as consultas ativas na página Query Insights do Spanner. Elas são classificadas pelo horário de início da consulta. 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 à 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 papéis personalizados ou outros papéis predefinidos.
Visualizar consultas ativas
Para conferir as consultas ativas de cada banco de dados, faça o seguinte:
No console Google Cloud , 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 mais longas.
Ver consultas de maior duração
A tabela a seguir descreve as colunas padrão na tabela Consultas em execução há mais tempo 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 começou. |
| 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.
Use o botão Opções de exibição da coluna para selecionar qualquer uma das seguintes colunas opcionais que aparecem na tabela "Consultas em execução há mais tempo":
| 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 redaçã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 apenas quando ele for necessário, já que as solicitações podem gerar mais latência. |
| 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 conferir 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 sua instância. Encerrar uma consulta pode ajudar a liberar recursos e reduzir a carga na sua instância. Encerrar uma consulta é uma operação de melhor esforço.
A página do console Google Cloud é atualizada depois que você inicia o encerramento. Se o encerramento for bem-sucedido, a consulta será removida da tabela. Se o encerramento falhar, ele vai ocorrer em segundo plano, e a consulta vai continuar aparecendo na tabela Consultas em execução há mais tempo.
O Spanner pode não cancelar uma consulta quando os servidores estão ocupados. Você pode tentar encerrar uma consulta novamente para cancelar.
Para receber a permissão necessária para encerrar uma consulta,
peça ao administrador para conceder a você o papel do IAM
Leitor do banco de dados do Cloud Spanner (spanner.databaseReader)
na instância.
Esse papel predefinido contém a
permissão
spanner.sessions.delete,
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 em execução há mais tempo.
- 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 em execução há mais tempo.
- Clique em Encerrar consultas selecionadas.
- Na janela Encerrar as seguintes consultas, clique em Confirmar.
A seguir
- Saiba mais sobre Analisar a performance da consulta.
- Saiba mais sobre as estatísticas de consultas ativas mais antigas.