Identificar onde a latência ocorre

Nesta página, mostramos como identificar e resolver problemas de latência nos componentes do Spanner.Para saber mais sobre possíveis pontos de latência em uma solicitação do Spanner, consulte Pontos de latência em uma solicitação do Spanner.

É possível medir e comparar as latências de solicitação entre diferentes componentes e o banco de dados para determinar qual componente está causando a latência. Essas latências incluem latência de ponta a ponta, latência do Google Front End (GFE), latência de solicitação da API Spanner e latência de consulta.

  1. No aplicativo cliente que usa seu serviço, confirme se há um aumento na latência de ponta a ponta. Verifique as seguintes dimensões nas métricas do lado do cliente. Para mais informações, consulte Descrições de métricas do lado do cliente.

    • client_name: o nome e a versão da biblioteca de cliente.
    • location: a região do Google Cloud em que as métricas do lado do cliente são publicadas. Se o aplicativo for implantado fora de Google Cloud, as métricas serão publicadas na região global.
    • method: o nome do método RPC, por exemplo, spanner.commit.
    • status: o status da RPC, por exemplo, OK ou INTERNAL.

    Agrupe por essas dimensões para ver se o problema está limitado a um cliente, status ou método específico. Para cargas de trabalho birregionais ou multirregionais, verifique se o problema está limitado a um cliente ou região do Spanner específica.

  2. Verifique a integridade do aplicativo cliente, especialmente a infraestrutura de computação no lado do cliente (por exemplo, utilização de VM, CPU ou memória, conexões, descritores de arquivo etc.).

  3. Verifique a latência nos componentes do Spanner acessando as métricas do lado do cliente:

    a. Verifique a latência de ponta a ponta usando a métrica spanner.googleapis.com/client/operation_latencies.

    b. Verifique a latência do Google Front End (GFE) usando a métrica spanner.googleapis.com/client/gfe_latencies.

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

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

    Agrupe por essas dimensões para saber se o problema está limitado a um banco de dados, status ou método específico. Para cargas de trabalho birregionais ou multirregionais, verifique se o problema está limitado a uma região específica.

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

    Se você tiver alta latência de ponta a ponta, mas baixa latência do GFE e baixa latência de solicitação da API Spanner, o código do aplicativo poderá ter um problema. Também pode indicar um problema de rede entre o cliente e o GFE regional. Se o aplicativo tiver um problema de desempenho que cause lentidão em alguns caminhos do código, a latência de ponta a ponta para cada solicitação de API poderá aumentar. Também pode haver um problema na infraestrutura de computação do cliente que não foi detectado na etapa anterior.

    Se você tiver uma alta latência do GFE, mas uma baixa latência de solicitação da API Spanner, o problema pode ter uma das seguintes causas:

    • Acessar um banco de dados de outra região. Essa ação pode resultar em alta latência do GFE e baixa latência de solicitação da API Spanner. Por exemplo, o tráfego de um cliente na região us-east1 que tem uma instância na região us-central1 pode ter uma alta latência do GFE, mas uma latência de solicitação da API Spanner menor.

    • Há um problema na camada GFE. Verifique no Google Cloud Painel de status se há algum problema de rede na sua região. Se não houver nenhum problema, abra um caso de suporte e inclua essas informações para que os engenheiros de suporte possam ajudar na solução de 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, adicione mais nós manualmente ou configure o escalonamento automático. Para mais informações, consulte Visão geral do escalonamento automático.

  7. Observe e resolva possíveis pontos de acesso ou padrões de acesso desequilibrados usando o Key Visualizer e tente reverter as mudanças no código do aplicativo que tenham uma forte correlação com o período do problema.

  8. Verifique se há mudanças no padrão de tráfego.

  9. Verifique os insights de consulta e transação para saber se há gargalos de desempenho de consulta ou transação.

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

  11. Use os procedimentos nas seções de solução de problemas nos tópicos a seguir para resolver o problema usando ferramentas de introspecção do Spanner:

A seguir