¿Cómo soluciono los problemas y reduzco el aumento de la latencia de CloudFront?

6 minutos de lectura
0

Veo un aumento de la latencia en las respuestas de Amazon CloudFront. Quiero identificar la causa y reducir la latencia.

Descripción corta

Para solucionar problemas de latencia de CloudFront, primero identifica cuáles de los siguientes eventos contribuyen a la latencia:

  • El tiempo que tardan las solicitudes en ir entre el cliente y las ubicaciones periféricas de CloudFront. Esto incluye el proceso de búsqueda del sistema de nombres de dominio (DNS) y las negociaciones de TCP y SSL/TLS.
  • El tiempo que tardan las solicitudes en ir entre CloudFront y el origen. Esto incluye el proceso de búsqueda de DNS de origen, las negociaciones de TCP y SSL/TLS con el origen y el tiempo que tarda el origen en procesar y responder con un objeto.

A continuación, sigue los pasos de solución de problemas para los eventos que causan la mayor latencia.

Resolución

Identifica los eventos que causan latencia en CloudFront:

Para identificar qué eventos provocan la latencia de CloudFront, realiza una de las siguientes acciones:

  • Ejecuta el siguiente 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

Nota: Sustituye ejemplo.com por tu nombre de dominio de CloudFront o un nombre de dominio (CNAME) y una ruta URL alternativos.

En función del tiempo empleado para cada evento o solicitud, consulta la sección Resolución correspondiente de este artículo.

Si has observado latencia en el pasado, comprueba los campos tiempo empleado y tiempo transcurrido hasta el primer byte en los registros de acceso a CloudFront. Los registros de acceso a CloudFront no registran el tiempo que tarda el cliente en el proceso de búsqueda de DNS ni en las negociaciones de TCP y SSL/TLS

Reducción de la latencia en la resolución de DNS

  • Aumenta el tiempo de almacenamiento en caché de DNS en el DNS del lado del cliente.
  • Aumenta el tiempo de vida (TTL) de la caché en el servidor DNS local.
  • Aumenta el TTL en el registro de DNS de tu registrador o proveedor de DNS.
  • Si el servidor DNS del solucionador de tu proveedor de servicios de Internet está provocando latencia, considera la posibilidad de utilizar servidores DNS públicos.

Reducción de la latencia en TCP y SSL/TLS: tiempo de negociación

  • Comprueba el ancho de banda de la red local y el ancho de banda de Internet.
  • Comprueba si hay alguna interrupción en la red de tu proveedor de servidores de Internet o enrutador.
  • Optimiza el rendimiento de la red local a través de tu proveedor de servicios de Internet o rutas de red.
  • Confirma que estás utilizando el solucionador de DNS correcto que permita al navegador web encontrar la ubicación POP más cercana y correcta.
  • Para mejorar el rendimiento del sitio HTTPS, mantén la cadena de certificación corta.
  • La latencia puede deberse a un firewall, un proxy o un enrutador local. Para determinar cuál de estas opciones está causando la latencia, ejecuta el siguiente comando MTR desde el sistema. Para obtener más información, consulta Diagnóstico de problemas de red con MTR en el sitio web de Akamai.
mtr -rw example.com --no-dns

Nota: Sustituye ejemplo.com por tu nombre de dominio.

Reducción de la latencia en el tiempo transcurrido hasta el primer byte (TTFB) y el tiempo total empleado (TTL)

Si CloudFront devuelve «X-Cache:Hit from cloudfront»

CloudFront muestra "X-Cache:Hit from cloudfront" cuando las solicitudes se realizan desde la ubicación periférica más cercana. Para reducir la latencia:

Si CloudFront devuelve «X-Cache:Miss from cloudfront»

CloudFront muestra "X-Cache:Miss from cloudfront" cuando la solicitud se envía al origen. Para reducir la latencia:

  • Reduce el tiempo de ida y vuelta (RTT) entre la ubicación periférica de CloudFront y tu ubicación de origen. Si una solicitud de una ubicación periférica de CloudFront va a la ubicación de origen más cercana, el RTT es menor. Sin embargo, el TTFB se ve afectado si la solicitud proviene de una ubicación periférica geográficamente distante del origen. Para optimizar el RTT, replica el servidor de origen en varias regiones que estén geográficamente más cerca de tus usuarios. Luego, configura el DNS del nombre de dominio de origen para que dirija la solicitud a los servidores de origen en función de la latencia o la geolocalización. Si utilizas Amazon Route 53 como proveedor de DNS, consulta Elección de una política de enrutado para obtener más información.
  • Activa la compresión automática de CloudFront para comprimir los archivos y reducir la velocidad de descarga. Si el formato de archivo no es compatible con la compresión automática de CloudFront, comprime previamente ese archivo en tu origen y preséntalo con el encabezado Content-Encoding.
  • Para comprobar la latencia desde el origen hasta CloudFront, habilita la métrica de latencia de origen. **Nota:Se aplican las **tarifas estándar de CloudWatch.
  • Activa CloudFront Origin Shield.
  • Agrega políticas de encabezados de respuesta con la característica de encabezado Server-Timing activada. Esta característica puede ayudarte a comprender los eventos que contribuyen a la latencia entre CloudFront y el origen.

Información relacionada

¿Cómo puedo reducir la latencia de las respuestas lentas de CloudFront?

¿Qué información proporciono a AWS Support para diagnosticar los problemas de latencia de la distribución web de CloudFront?

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 10 meses