Use os painéis de insights do sistema e as tabelas de estatísticas integradas para identificar transações que causam latências altas no Spanner Omni. Para garantir a consistência de várias transações simultâneas, o Spanner Omni usa bloqueios para controlar o acesso aos dados. A disputa de bloqueio ocorre quando muitas transações exigem acesso frequente ao mesmo bloqueio, o que causa latências altas.
As operações do Spanner Omni adquirem bloqueios quando fazem parte de uma transação de leitura e gravação. As transações somente leitura não adquirem bloqueios.
Para identificar transações que causam latências altas, siga estas etapas:
Verifique se há um aumento nas latências usando os insights do sistema.
Identifique problemas de contenção de bloqueio usando a métrica de tempo de espera de bloqueio.
Antes de começar
Faça o download e instale o console do Spanner Omni, caso ainda não tenha feito isso. Para mais informações, consulte Downloads do Spanner Omni e Iniciar o console do Spanner Omni.
Verificar um aumento nas latências usando insights do sistema
O Spanner Omni não usa o Cloud Monitoring. Em vez disso, use o painel de insights do sistema no console do Spanner Omni ou no Grafana. Para verificar picos de latência no console do Spanner Omni, faça o seguinte:
No console do Spanner Omni, clique em Insights do sistema no painel de navegação.
No painel "Insights do sistema", verifique os gráficos de latência para o seguinte:
Latência da solicitação (
P50,P90,P99)Latência da transação (
P50,P90,P99)
Verifique o 99º percentil (
P99) das operações de gravação nos gráficos de latência. Se você observar um aumento na latência sem um aumento correspondente no uso da CPU ou em erros, provavelmente a latência é causada por problemas de disputa de bloqueio.
Verificar problemas de contenção de bloqueio
Para verificar se as latências altas são causadas por disputa de bloqueio, use a métrica de tempo de espera de bloqueio disponível no painel Insights do sistema.
Verificar o tempo de espera de bloqueio alto
Verifique se há um tempo de espera de bloqueio alto no painel de insights do sistema do console Spanner Omni:
Localize o gráfico Tempo de espera de bloqueio, que mostra o tempo total de espera de bloqueio para conflitos de bloqueio do banco de dados selecionado em um intervalo de cinco minutos.
Verifique se essa métrica mostra um aumento que se correlaciona com o pico de latência observado.
Analisar os dados de espera de bloqueio usando tabelas do sistema
Depois de confirmar que a disputa de bloqueio é a causa das altas latências, use tabelas de estatísticas do sistema para analisar os dados de espera de bloqueio e identificar as transações que estão causando a disputa. É possível usar a CLI do Spanner Omni para consultar tabelas de estatísticas na documentação do Spanner.
Para detalhes sobre tabelas de estatísticas de bloqueio, consulte Estatísticas de bloqueio na documentação do Spanner.
Identificar transações conflitantes
Para identificar as transações específicas que estão contribuindo para altas latências, examine as estatísticas de transação do seu banco de dados. Foque nas transações com alta latência média. Otimize o formato da transação para reduzir as latências. Considere aplicar as práticas recomendadas para reduzir a disputa por bloqueios na documentação do Spanner.
Para mais detalhes sobre as tabelas de estatísticas de transações, consulte Estatísticas de transações na documentação do Spanner.