Identifique onde ocorre a latência

Esta página mostra-lhe como identificar e resolver problemas de latência nos seus componentes do Spanner.Para saber mais acerca dos possíveis pontos de latência num pedido do Spanner, consulte Pontos de latência num pedido do Spanner.

Pode medir e comparar as latências de pedidos entre diferentes componentes e a base de dados para determinar que componente está a causar a latência. Estas latências incluem a latência ponto a ponto, a latência da interface de utilizador da Google (GFE), a latência do pedido da API Spanner e a latência da consulta.

  1. Na aplicação cliente que usa o seu serviço, confirme se existe um aumento da latência de ponta a ponta. Verifique as seguintes dimensões nas métricas do lado do cliente. Para mais informações, consulte as descrições das métricas por parte do cliente.

    • client_name: o nome e a versão da biblioteca cliente.
    • location: a Google Cloud região onde as métricas do lado do cliente são publicadas. Se a sua aplicação for implementada fora deGoogle Cloud, as métricas são publicadas na região global.
    • method: o nome do método RPC, por exemplo, spanner.commit.
    • status: o estado de RPC, por exemplo, OK ou INTERNAL.

    Agrupe por estas dimensões para ver se o problema está limitado a um cliente, um estado ou um método específico. Para cargas de trabalho de duas regiões ou multirregionais, verifique se o problema está limitado a um cliente ou a uma região do Spanner específicos.

  2. Verifique o estado da aplicação cliente, especialmente a infraestrutura de computação no lado do cliente (por exemplo, utilização de VM, CPU ou memória, ligações, descritores de ficheiros, etc.).

  3. Verifique a latência nos componentes do Spanner através da visualização das métricas do lado do cliente:

    a. Verifique a latência ponto a ponto através da métrica spanner.googleapis.com/client/operation_latencies.

    b. Verifique a latência do front-end da Google (GFE) através da métrica spanner.googleapis.com/client/gfe_latencies.

  4. Verifique as seguintes dimensões para as métricas do Spanner:

    • database: o nome da base de dados do Spanner.
    • method: o nome do método RPC, por exemplo, spanner.commit.
    • status: o estado de RPC, por exemplo, OK ou INTERNAL.

    Agrupe por estas dimensões para ver se o problema se limita a uma base de dados, um estado ou um método específico. Para cargas de trabalho de duas regiões ou multirregionais, verifique se o problema está limitado a uma região específica.

  5. Verifique a latência do pedido da API Spanner através da métrica spanner.googleapis.com/api/request_latencies. Para mais informações, consulte o artigo Métricas do Spanner.

    Se tiver uma latência completa elevada, mas uma latência do GFE baixa e uma latência do pedido da API Spanner baixa, o código da aplicação pode ter um problema. Também pode indicar um problema de rede entre o cliente e o GFE regional. Se a sua aplicação tiver um problema de desempenho que faça com que alguns caminhos de código sejam lentos, a latência ponto a ponto de cada pedido de API pode aumentar. Também pode haver um problema na infraestrutura de computação do cliente que não foi detetado no passo anterior.

    Se tiver uma latência GFE elevada, mas uma latência de pedido da API Spanner baixa, pode dever-se a uma das seguintes causas:

    • Aceder a uma base de dados de outra região. Esta ação pode levar a uma latência GFE elevada e a uma latência de pedido da API Spanner baixa. Por exemplo, o tráfego de um cliente na região us-east1 que tenha uma instância na região us-central1 pode ter uma latência GFE elevada, mas uma latência de pedido da API Spanner inferior.

    • Existe um problema na camada GFE. Consulte o Google Cloud Painel de controlo de estado para ver se existem problemas de rede em curso na sua região. Se não existirem problemas, abra um registo de apoio técnico e inclua estas informações para que os engenheiros de apoio técnico possam ajudar a resolver problemas do GFE.

  6. Verifique a utilização da CPU da instância. Se a utilização da CPU da instância estiver acima do nível recomendado, deve adicionar manualmente mais nós ou configurar o dimensionamento automático. Para mais informações, consulte o artigo Vista geral do ajuste de escala automático.

  7. Observe e resolva potenciais pontos críticos ou padrões de acesso desequilibrados usando o Key Visualizer e tente reverter quaisquer alterações ao código da aplicação que estejam fortemente correlacionadas com o período do problema.

  8. Verifique se existem alterações nos padrões de tráfego.

  9. Verifique as Estatísticas de consultas e as Estatísticas de transações para ver se pode haver gargalos de desempenho de consultas ou transações.

  10. Use os procedimentos em Consultas ativas mais antigas para ver as consultas de despesas que podem causar um gargalo de desempenho e cancelar as consultas conforme necessário.

  11. Use os procedimentos nas secções de resolução de problemas nos seguintes tópicos para resolver o problema mais detalhadamente com as ferramentas de introspeção do Spanner:

O que se segue?