Información general

La medición del rendimiento es el punto de partida para identificar oportunidades para mejorar la velocidad de las aplicaciones web. El rendimiento medido está influenciado por la calidad de la entrega de contenido mediante una red de entrega de contenido (CDN) y por la forma en que se diseña una aplicación web. Este artículo se centra en las prácticas recomendadas para medir el rendimiento de la entrega de contenido. Esta práctica es importante para hacer una evaluación comparativa de las CDN (por ejemplo, para implementar una nueva CDN), para cambiar de CDN en una arquitectura de varias CDN y, simplemente, para llevar a cabo los cambios en la configuración de la CDN que se está usando (por ejemplo, implementar un nuevo protocolo, como HTTP/3). Para obtener los datos de rendimiento de la CDN más relevantes y precisos, se deben seleccionar cuidadosamente las condiciones de prueba: técnicas de medición y condiciones de prueba.

Presentaciones rápidas sobre Amazon CloudFront: prácticas recomendadas

Técnicas de medición

Pruebas sintéticas para la medición del rendimiento de la aplicación

Las pruebas sintéticas son una técnica de medición en la que los operadores simulan el escenario en el que un usuario carga su aplicación web. Se puede hacer simplemente desde el equipo del operador con herramientas como Lighthouse de Chrome o desde un centro de datos con herramientas como Webpagetest.org, o bien desde una sofisticada red de sondas implementadas en centros de datos y redes troncales de ISP de todo el mundo, con herramientas como Catchpoint o CloudWatch Synthetics.

Este enfoque es beneficioso para comprender el rendimiento del código de la aplicación web (por ejemplo, el impacto de JavaScript en la carga de la página). Es un enfoque recomendado para supervisar la mejora o la regresión del rendimiento de la aplicación después de una actualización del código en los diferentes pasos del proceso de publicación del código (por ejemplo, pruebas sintéticas en un entorno previo a la producción).

Sin embargo, las pruebas sintéticas son insuficientes a la hora de medir el rendimiento de las CDN. Por ejemplo, las sondas de prueba sintéticas suelen ubicarse en redes que no transportan tráfico de usuarios real, para las que no están optimizados todos los sistemas de enrutamiento de las CDN. Además, el tráfico generado por las pruebas sintéticas es relativamente bajo en comparación con la carga de tráfico real, lo que no refleja bien la forma en que las CDN preparan su red con un aumento gradual del tráfico. Por estas razones, se recomienda utilizar técnicas de supervisión de usuarios reales (RUM) para hacer una evaluación comparativa de las CDN. Lea el

Supervisión de usuarios reales para medir el rendimiento de la CDN

Si desea medir el rendimiento de su CDN, como CloudFront, considere la posibilidad de utilizar la técnica de supervisión de usuarios reales (RUM) con herramientas como CloudWatch RUM. RUM le brinda los datos más precisos sobre el rendimiento de su aplicación web desde la perspectiva de los usuarios. CloudWatch RUM le permite comprender cómo el rendimiento de su CDN afecta a las Métricas web principales de su aplicación, como la métrica de renderizado del mayor elemento con contenido (LCP). También puede utilizar RUM para correlacionar el rendimiento de la CDN con el KPI empresarial (por ejemplo, el número de visitas de usuarios, las ventas, etc.). Para usar CloudWatch RUM, debe agregar una etiqueta JavaScript a sus páginas web. Esta etiqueta recopila datos de las API del navegador, como los tiempos de carga de las páginas con un desglose de los pasos de conexión (búsqueda de DNS, conexión TCP, etc.) o de las Métricas web principales, y luego los envía a CloudWatch RUM para la creación de paneles. Puede analizar el rendimiento de su CDN filtrando por dimensiones específicas, como el tipo de navegador, el país del usuario o un identificador de página específico.

Cuando su CDN muestre latencias en una de estas dimensiones (por ejemplo, una página o región geográfica específica), analice las métricas de red de las solicitudes dentro de la dimensión periférica. Los tiempos de conexión TCP lentos pueden indicar un enrutamiento no óptimo, mientras que el tiempo lento hasta el primer byte de la memoria caché no es suficiente para indicar un origen lento. Utilice la solución de problemas del servidor de CloudFront en combinación con CloudWatch RUM para profundizar en el análisis y averiguar a qué se debe cualquier problema de latencia.

Supervisión de usuarios reales para Amazon CloudWatch

Prácticas recomendadas para hacer una evaluación comparativa de las CDN

Tenga en cuenta las siguientes prácticas recomendadas para configurar condiciones de prueba imparciales para hacer una evaluación comparativa de las CDN, como CloudFront:

  • Envíe una parte significativa de su tráfico (un 20 % como mínimo) a cada CDN para medir el rendimiento real de la CDN a escala. Las CDN, como CloudFront, muestran un mejor rendimiento a escala cuando se preparan (por ejemplo, la caché se llena, el grupo de conexiones TCP se prepara y los ISP almacenan en caché las entradas de DNS)
  • Realice las pruebas de evaluación comparativa en las mismas condiciones para todas las CDN. Envíe la misma cantidad de tráfico a cada una de sus CDN, al mismo tiempo y a la misma base de usuarios.
  • Realice las pruebas durante un periodo de tiempo relevante. Por ejemplo, si ofrece contenido de cola larga, es posible que las CDN necesiten días para rellenar su caché y aumentar su proporción de aciertos de caché a un estado estable.
  • Configure las CDN con las mismas capacidades, como, por ejemplo, compresión, optimización de imágenes, protocolos (HTTP/3 en lugar de H2, TLS1.3 en lugar de TLS1.2, IPv6 en lugar de IPv4), aceleración de origen (Origin Shield), etc.

Algunas soluciones de terceros para la gestión del tráfico, como Pulsar de NS1 o Citrix Intelligent Traffic Management, incluyen sus propios datos de RUM recopilados de orígenes externas a la aplicación. Si utiliza estas herramientas, tenga en cuenta los siguientes inconvenientes al pensar en la evaluación comparativa del rendimiento de las CDN:

  • ¿Se prueban las CDN en las mismas condiciones? Configuraciones y optimizaciones similares.
  • ¿Cuántos puntos de datos se recopilan para cada dimensión? Más puntos de datos dan como resultado una evaluación comparativa más precisa (preparación de las CDN, errores estadísticos, etc.)
  • ¿Los objetos probados tienen las mismas características que su aplicación (por ejemplo, elementos estáticos en lugar de dinámicos, objetos pequeños en lugar de objetos grandes, objetos populares en lugar de objetos no populares, etc.)?
  • Algunas de estas herramientas ofrecen la posibilidad de realizar pruebas de RUM en sus propias CDN. Considere esta opción, ya que reflejará mejor el rendimiento que experimentarán los usuarios con sus CDN.
  • Utilice la combinación más adecuada de métricas de rendimiento (latencia, rendimiento, P50 en lugar de P90) y disponibilidad que sea relevante para su aplicación. Por ejemplo, las descargas de objetos de gran tamaño son más sensibles al rendimiento que a la latencia.

Recursos

¿Le resultó útil esta página?