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

5 minuto de leitura
0

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

Breve descrição

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

  • O tempo gasto para que as solicitações passem entre os locais de borda do Cliente e 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 gasto 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 no CloudFront:

Para identificar quais eventos estão causando latência no CloudFront, faça o seguinte:

  • Execute o seguinte comando cURL:
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 o exemplo.com pelo seu nome de domínio do 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 web. Por exemplo, se você estiver usando o Mozilla Firefox, a guia Tempo fornece essas informações.

Com base no time-taken para cada evento ou solicitação, consulte a seção de resolução relacionada neste artigo.

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

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

  • Aumente o tempo de cache do DNS no DNS do lado do cliente.
  • Aumente o tempo de vida (TTL) 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 usar servidores DNS públicos.

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

  • Verifique a largura de banda da sua rede local e a largura de banda da internet.
  • Verifique se há alguma interrupção na rede em seu provedor de servidor de internet ou roteador.
  • Otimize o desempenho da sua rede local por meio de seu provedor de serviços de internet ou rotas de rede.
  • Confirme se você está usando o resolvedor de DNS correto que permite que seu navegador web encontre a localização POP mais próxima e correta.
  • Para melhorar o desempenho 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. Para obter mais informações, consulte Diagnosticando problemas de rede com MTR no site da Akamai.
mtr -rw example.com --no-dns

Observação: substitua exemplo.com pelo seu nome de domínio.

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

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

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

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

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

  • Reduza o tempo de ida e volta (RTT) entre o local da borda do CloudFront e 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 encaminhe a solicitação aos 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 Escolher 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 suportado pela compactação automática do CloudFront, pré-compacte esse arquivo em sua origem e forneça-o com o cabeçalho Content-Encoding.
  • 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 atributo de cabeçalho Server-Timing ativado. Esse atributo 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 faço para reduzir a latência das respostas lentas do CloudFront?

Quais informações eu forneço ao AWS Support para diagnosticar problemas de latência na distribuição web do CloudFront?

AWS OFICIAL
AWS OFICIALAtualizada há 9 meses