Monitorar consultas ativas

Esta página descreve como monitorar e solucionar problemas das consultas que estão ativas no seu banco de dados. O monitoramento dessas consultas pode ajudar a identificar as causas de latência do sistema e o alto uso da CPU.

No painel do Query Insights, você pode conferir um resumo das transações ativas e uma lista de transações com consultas e estatísticas associadas. As transações 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.

Antes de começar

Para monitorar consultas ativas, use o Cloud SQL Enterprise ou o Cloud SQL Enterprise Plus.

Para encerrar uma sessão ou uma transação de longa duração em consultas ativas, use o Cloud SQL edição Enterprise Plus para sua instância do Cloud SQL para MySQL.

Para mais informações sobre as edições do Cloud SQL, consulte Introdução às edições do Cloud SQL.

Papéis e permissões necessárias

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 no projeto que hospeda a instância do Cloud SQL:

  • Confira o resumo da atividade da instância: Visualizador do Cloud SQL (roles/cloudsql.viewer)
  • Visualizar o resumo da atividade do banco de dados e as transações de longa duração: Leitor do Database Insights (roles/databaseinsights.viewer)
  • Encerrar uma sessão ou transação de longa duração:
    • Editor do Cloud SQL (roles/cloudsql.viewer)
    • Administrador de operações de insights de banco de dados (databaseinsights.operationsAdmin)

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

Esses papéis predefinidos contêm as permissões necessárias para visualizar consultas ativas. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:

Permissões necessárias

As seguintes permissões são necessárias para visualizar consultas ativas:

  • Confira o resumo da atividade do banco de dados e as transações de longa duração:
    • databaseinsights.activeQueries.fetch
    • databaseinsights.activitySummary.fetch

Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.

Ativar consultas ativas

Ao ativar os insights de consulta, você ativa as consultas ativas automaticamente. Para encerrar uma sessão ou transação de longa duração em consultas ativas, use os insights de consulta do Cloud SQL edição Enterprise Plus.

Desativar consultas ativas

Não é possível desativar as consultas ativas sem desativar os insights de consulta. Para desativar as consultas ativas e os insights de consulta, consulte Desativar os insights de consulta.

Visualizar consultas ativas

Para conferir as consultas ativas, siga estas etapas:

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

    Acesse Instâncias do Cloud SQL

  2. Para abrir a página Visão geral de uma instância, clique no nome da instância.

  3. Siga um dos procedimentos abaixo para exibir o painel do Query Insights:

    • Selecione a guia Query Insights.
    • Clique em Acessar o Query Insigths para ver informações mais detalhadas sobre consultas e desempenho. O painel do Query Insights abre. Ele mostra detalhes sobre a instância na parte superior.
  4. Clique na guia Consultas ativas.

    Nela, é possível modificar as informações de consulta que aparecem na tabela Transações em execução há mais tempo:

    • 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 uma conta de usuário específica.
    • Visão geral do resumo de todas as consultas ativas: fornece uma visão geral de todas as consultas ativas mostrando o total de conexões com base nos seguintes parâmetros:

      1. Distribuição de conexões ativas categorizadas por estado da conexão.
      2. Distribuição de transações ativas com base no estado da transação.
      3. Distribuição de durações de consultas.
    • Transações em execução há mais tempo: fornece uma visão geral das 50 principais consultas em execução (no estado ativo) com base no tempo de execução decrescente. É possível filtrar e ordenar as consultas ativas na tabela.

Ver consultas ativas normalizadas

É possível conferir uma lista das principais transações de longa duração com consultas ativas normalizadas no painel do Query Insights. Uma consulta ativa normalizada remove dados sensíveis e retorna um resumo. O resumo é igual para valores diferentes usados no exemplo a seguir:

  • Consultas regulares

    • select * from test_table where id=1;
    • select * from test_table_where id=2;
  • Resumo ou consulta normalizada

    • select * from test_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 Transações em execução há mais tempo no painel Query Insights contém as seguintes colunas:

Nome da coluna Descrição
ID do processo Identificador único da conexão.
Consulta Texto da consulta SQL.
Estado da transação O estado de execução atual da transação. Os valores permitidos incluem: RUNNING, LOCK WAIT, ROLLING BACK e COMMITTING.
Estado da linha de execução O estado da linha de execução (ou estado da consulta) indica o estado atual da linha de execução ativa.
Horário de início da transação O carimbo de data/hora em que a transação iniciou a execução.
Duração da transação A duração da transação ativa atual em segundos.
Duração da espera da transação A duração da espera em segundos na transação ativa atual.
Duração do estado da linha de execução Tempo gasto na consulta.
Linhas da transação bloqueadas Número de linhas bloqueadas pela transação ativa atual.
Linhas da transação modificadas Número de linhas modificadas pela transação ativa atual.
Banco de dados Nome do banco de dados em que essa conexão está em execução.
Nome de usuário Nome do usuário conectado ao banco de dados.
Endereço do cliente O endereço IP do cliente de onde um usuário se conecta ao banco de dados.
Ação Contém um link para encerrar uma transação.

A tela é atualizada automaticamente a cada 60 segundos.

Encerrar uma conexão

Para encerrar uma conexão ou transação de longa duração em consultas ativas, use o Cloud SQL Enterprise Plus e ative os insights de consulta do Cloud SQL Enterprise Plus.

Operações de longa duração podem levar mais tempo para serem encerradas.

Para encerrar uma consulta ou transação, siga estas etapas:

  1. Na tabela Transação em execução há mais tempo, selecione uma consulta.
  2. Na coluna Ação, clique em Encerrar conexão.
  3. Na janela Encerrar conexão, clique em Confirmar.

Uma solicitação de banco de dados é retornada imediatamente enquanto o encerramento ocorre em segundo plano.

A página é atualizada após iniciar o encerramento. Se a interrupção falhar, uma mensagem de erro ou uma notificação não será retornada. A consulta continua aparecendo na lista de consultas ativas. Se o encerramento for bem-sucedido, a consulta não será mais exibida na lista. Se o encerramento exigir uma reversão, a coluna Estado da transação vai mostrar o estado EM REVERSÃO, o que significa que o encerramento ainda está em andamento.

A seguir