Como soluciono problemas e reduzo o aumento da latência do CloudFront?

6 minuto de leitura
0

Estou vendo um aumento na latência nas respostas do Amazon CloudFront. Como posso identificar a causa e reduzir a latência?

Breve descrição

Para solucionar problemas de latência do CloudFront, identifique primeiro quais dos seguintes eventos estão contribuindo para a latência:

  • O tempo necessário para que as solicitações passem entre o Cliente e os locais da borda do CloudFront. Isso inclui o processo de pesquisa do Sistema de Nomes de Domínio (DNS) e as negociações de TCP e SSL/TLS.
  • O tempo necessário para que as solicitações passem entre o CloudFront e a origem. Isso inclui o processo de pesquisa de DNS de origem, negociações de TCP e SSL/TLS com a origem e o tempo gasto pela origem para processar e responder com um objeto.

Em seguida, siga as etapas de solução de problemas para os eventos que estão causando a maior latência.

Resolução

Identifique eventos que causam latência do CloudFront:

Para identificar quais eventos estão causando latência do CloudFront, siga um destes procedimentos:

  • Execute o comando cURL a seguir:
curl -w "DNS_resolution: %{time_namelookup}| TCP_negotiation_time: %{time_connect}| SSL_negotiation_time: %{time_appconnect}| TTFB: %{time_starttransfer}| Total time: %{time_total} \n" -o /dev/null -vsL https://www.example.com

Observação: substitua example.com pelo seu nome de domínio CloudFront ou nome de domínio alternativo (CNAME) e caminho de URL.

  • Verifique quanto tempo leva cada estágio de uma solicitação de rede nas ferramentas de desenvolvedor do seu navegador da Web. Por exemplo, se você estiver usando o Mozilla Firefox, a guia Tempo fornece essas informações.

Com base no tempo gasto para cada evento ou solicitação, consulte a seção Resolução relacionada neste artigo.

Se você observou latência no passado, verifique os campos time-taken (tempo gasto) e time-to-first-byte (tempo até o primeiro byte) nos logs de acesso do CloudFront. Os logs de acesso do CloudFront não registram o tempo gasto pelo cliente no processo de pesquisa de DNS e negociações de TCP e SSL/TLS.

Reduzindo a latência na resolução do DNS

  • Aumente o tempo de armazenamento em cache do DNS no DNS do lado do cliente.
  • Aumente o Time to Live (TTL) (vida útil) do cache no servidor DNS local.
  • Aumente o TTL no registro DNS em seu registrador/provedor de DNS.
  • Se o servidor DNS do resolvedor do seu provedor de serviços de internet estiver causando latência, considere o uso de servidores DNS públicos.

Reduzindo a latência em TCP e SSL/TLS – Tempo de negociação

  • Verifique sua largura de banda da rede local e largura de banda da internet.
  • Verifique se há alguma interrupção de rede em seu provedor de servidor de internet ou roteador.
  • Otimize a performance da sua rede local por meio de seu provedor de serviços de internet ou de rotas de rede.
  • Confirme se você está usando o resolvedor de DNS correto que permite que seu navegador encontre o local do POP mais próximo e correto.
  • Para melhorar a performance do site HTTPS, mantenha sua cadeia de certificação curta.
  • A latência pode ser causada por um firewall, proxy ou roteador local. Para determinar qual deles está causando latência, execute o seguinte comando MTR em seu sistema. Consulte Diagnosticando problemas de rede com MTR para obter mais informações.
mtr -rw example.com --no-dns

Observação: substitua example.com por seu nome de domínio.

Reduzindo a latência no tempo gasto para o primeiro byte (TTFB) e o tempo total gasto (TTL)

Se o CloudFront retornar “X-Cache:Hit from cloudfront”

O CloudFront retorna a resposta “X-Cache: Hit from cloudfront” quando as solicitações são atendidas a partir do local da borda. Para reduzir a latência:

Se o CloudFront retornar “X-Cache:Miss from cloudfront”

Se o CloudFront retornar “X-Cache:Miss from cloudfront” quando a solicitação for enviada para a origem. Para reduzir a latência:

  • Reduza o Round trip time (RTT) (Tempo de ida e volta) entre o local da borda do CloudFront e o seu local de origem. Se uma solicitação de um local da borda do CloudFront for para o local de origem mais próximo, o RTT será menor. No entanto, o TTFB é afetado se a solicitação for de um local da borda geograficamente distante da origem. Para otimizar o RTT, replique o servidor de origem em várias regiões geograficamente mais próximas de seus usuários. Em seguida, configure o DNS do seu nome de domínio de origem para que ele roteie a solicitação para servidores de origem com base na latência ou na geolocalização. Se você estiver usando o Amazon Route 53 como seu provedor de DNS, consulte Escolhendo uma política de roteamento para obter mais informações.
  • Ative a compactação automática do CloudFront para compactar arquivos e reduzir a velocidade de download. Se o formato do seu arquivo não for compatível com a compressão automática do CloudFront, pré-compacte esse arquivo em sua origem e exiba-o com o cabeçalho Content-Encoding (codificação de conteúdo).
  • Verifique a latência da origem até o CloudFront ativando a Métrica de latência de origem. Observação: aplicam-se as tarifas padrão do CloudWatch.
  • Ative o CloudFront Origin Shield.
  • Adicione políticas de cabeçalhos de resposta com o recurso de cabeçalho Server-Timing (tempo de servidor) ativado. Esse recurso pode ajudar você a entender os eventos que estão contribuindo para a latência entre o CloudFront e a origem.

Informações relacionadas

Como reduzo a latência de respostas lentas do CloudFront?

Como faço para resolver o problema de latência em meu site estático hospedado no Amazon S3 e disponibilizado por meio do CloudFront?

Que informações devo fornecer ao AWS Support para diagnosticar problemas de latência de distribuição na Web do CloudFront?

Como determinar o que está causando a latência de solicitação para meu endpoint de API otimizado por borda no API Gateway?

AWS OFICIAL
AWS OFICIALAtualizada há 2 anos