Nesta página, descrevemos 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.
O painel do Query Insights mostra 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 número grande de consultas em execução, os resultados poderão ser limitados a um subconjunto do total de consultas.
Antes de começar
Para visualizar as consultas ativas, faça o seguinte:
- Configure o Gemini nos bancos de dados.
- Crie um papel personalizado e adicione as seguintes permissões:
Tarefas Papéis Permissões Ver recomendações databaseinsights.viewer
databaseinsights.activeQueries.fetch
databaseinsights.activitySummary.fetch
Encerrar recomendações databaseinsights.operationsAdmin
N/A
Ver consultas ativas
Para ver as consultas ativas, faça isto:
Adicione esse papel para cada usuário que verá as consultas ativas.
No console do Google Cloud, acesse a página Instâncias do Cloud SQL.
Para abrir a página Visão geral de uma instância, clique no nome da instância.
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.
Clique na guia Visualização de consulta ativa.
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 exibindo o total de conexões com base nos seguintes parâmetros:
- Distribuição de conexões ativas categorizadas por estado da conexão.
- Distribuição de transações ativas com base no estado da transação.
- 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 (nos estados ativo e inativo em transação) com base no tempo de execução decrescente. É possível filtrar e ordenar as consultas ativas na tabela.
Ver consultas ativas normalizadas
É possível ver 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 do Query Insights contém as seguintes colunas:
Nome da coluna | Descrição |
---|---|
ID da lista de processos | Identificador exclusivo da conexão ou do ID da linha de execução. |
Consulta | Texto da consulta SQL. |
Status | Status da conexão. |
Duração da sessão | Duração da última sessão em execução. |
Duração da transação | Duração da transação ativa em execução. |
Duração da consulta | Duração da última consulta executada nessa transação. |
Tipo de evento de espera | Tipo do evento de espera ocorrendo. |
Evento de espera | Evento de espera ocorrendo. |
Banco de dados | Nome do banco de dados em que essa conexão está em execução. |
Nome do aplicativo | Nome do aplicativo 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 | Endereço IP específico do cliente que enviou uma consulta. |
Ação | Contém um link para encerrar uma transação. |
A tela é atualizada automaticamente a cada 60 segundos.
Encerrar um processo
Para encerrar uma consulta ou transação, você precisa ter o papel databaseinsights.operationsAdmin
. Para mais informações, consulte Papéis básicos e predefinidos do IAM.
Para encerrar uma consulta ou transação, siga estas etapas:
- Na tabela Transação em execução há mais tempo, selecione uma consulta.
- Na coluna Ação, clique em Encerrar conexão.
- Na janela Encerrar conexão, clique em Confirmar.
Se o sistema encerrar com sucesso a consulta ou a transação, uma mensagem de êxito será exibida. Se necessário, o sistema também realizará uma reversão.