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 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 a edição Enterprise Plus do Cloud SQL na sua instância do Cloud SQL.
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 ver as 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:
-
Ver o resumo da atividade da instância:
Leitor do Cloud SQL (
roles/cloudsql.viewer
) -
Confira o resumo da atividade do banco de dados e as transações de longa duração:
Leitor do Database Insights (
roles/databaseinsights.viewer
) -
Encerre uma sessão ou transação de longa duração:
-
Editor do Cloud SQL (
roles/cloudsql.editor
) -
Administrador de operações do Database Insights (
roles/databaseinsights.operationsAdmin
)
-
Editor do Cloud SQL (
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 acessar as consultas ativas:
-
Ver 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
Para ativar consultas ativas em uma instância do Cloud SQL Enterprise, faça o seguinte:
-
No console 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 dela.
- No bloco Configuração, clique em Editar configuração.
- Na seção Personalizar sua instância, expanda Insights de consulta.
- Verifique se a opção Ativar Query insights está ativada.
- Selecione Análise de consultas ativas.
- Clique em Salvar.
Para ativar consultas ativas em uma instância do Cloud SQL Enterprise Plus, faça o seguinte:
-
No console 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 dela.
- No bloco Configuração, clique em Editar configuração.
- Na seção Personalizar sua instância, expanda Insights de consulta.
- Verifique se a opção Ativar Query insights está ativada.
- Selecione Ativar recursos do Enterprise Plus.
- Selecione Análise de consultas ativas.
- Clique em Salvar.
Para encerrar uma sessão ou uma transação de longa duração em consultas ativas, use o Query Insights para a edição Enterprise Plus do Cloud SQL.
Desativar consultas ativas
Para desativar consultas ativas em uma instância do Cloud SQL Enterprise ou do Cloud SQL Enterprise Plus, faça o seguinte:
-
No console 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 dela.
- No bloco Configuração, clique em Editar configuração.
- Na seção Personalizar sua instância, expanda Insights de consulta.
- Desmarque a caixa de seleção Análise de consultas ativas.
- Clique em Salvar.
Visualizar consultas ativas
Para ver as consultas ativas, siga estas etapas:
No console 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 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 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 do processo | 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 um processo ou uma transação de longa duração em consultas ativas, use o Cloud SQL Enterprise Plus e ative a análise de consultas ativas e os insights de consultas para o 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:
- 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.
Consultas ativas bloqueadas
Se uma consulta ativa específica estiver bloqueada ou sendo executada por muito mais tempo do que o esperado, ela poderá bloquear outras consultas dependentes.
O Cloud SQL oferece a opção de encerrar consultas ativas específicas de longa duração ou bloqueadas.
Ativar a análise de consultas ativas bloqueadas
Por padrão,o console Google Cloud não mostra quais consultas ativas estão bloqueadas. Para analisar consultas ativas bloqueadas, primeiro ative a edição Cloud SQL Enterprise Plus e as consultas ativas na instância.
Para ativar a análise de consultas ativas bloqueadas, faça o seguinte:
Console
-
No console 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 dela.
- Clique em Editar.
- Expanda Query Insights.
- Selecione Ativar recursos do Enterprise Plus e Análise de consulta ativa. As duas configurações são obrigatórias.
- Selecione Análise de consulta bloqueada.
- Clique em Salvar.
Identificar e encerrar uma consulta ativa bloqueada
As etapas a seguir mostram como identificar e encerrar uma consulta ativa específica que pode estar bloqueando outras consultas.
Console
-
No console 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.
- No menu de navegação do SQL, clique em Query Insights.
- Clique na guia Consultas ativas.
Se você ainda não tiver consultas ativas em execução, navegue até Cloud SQL Studio e execute as consultas que quer investigar.
- Navegue até a seção Transações em execução há mais tempo. É possível conferir até 50 das consultas ativas mais longas.
Cada entrada exibida inclui as seguintes informações:
- ID do processo: o ID do processo da consulta. Clique em
- Ícone de ampulheta: indica que o processo está aguardando a conclusão de outra consulta. Se um número for incluído ao lado do ícone, ele vai indicar quantas consultas dependentes estão aguardando a conclusão desse processo.
- Ícone de símbolo de bloqueio: esse ícone indica que o processo não pode ser concluído e pode estar bloqueando outras consultas.
expandir para ver a entrada. Você pode ver um destes dois ícones:
- Tipo de consulta: o tipo de consulta em execução, como
SELECT
ouUPDATE
. - Status: o status da consulta ativa, como
ACTIVE
. - Duração da sessão (segundos): a duração da sessão atual (em segundos).
- Duração da transação (segundos): a duração da transação ativa atual (em segundos).
- Duração da consulta (segundos): a duração da consulta ativa atual (em segundos).
- Tipo de evento de espera: o tipo de evento de espera que está ocorrendo atualmente durante a execução da consulta, como Tempo limite ou Bloqueio.
- Evento de espera: o evento de espera que está ocorrendo atualmente durante a execução da consulta.
- Ação: possíveis ações a serem tomadas, como Encerrar conexão.
Clique para abrir o ID do processo que você quer investigar. É possível expandir os processos subjacentes até três níveis na árvore de investigação.
- ID do processo: o ID do processo da consulta. Clique em
- Identifique a consulta específica que está bloqueada e clique em Encerrar conexão. Depois de encerrar a conexão, navegue até o Cloud SQL Studio para executar as consultas ativas novamente.