La medición precisa del rendimiento de la red a escala global es un problema fundamental en la computación distribuida. La latencia de conexión, influenciada por factores como la distancia, el enrutamiento y la congestión, impacta directamente la experiencia del usuario. Tradicionalmente, la recolección de datos de rendimiento en entornos de usuario real ha sido un desafío, a menudo limitada por la disponibilidad de puntos de medición o la intrusión en la experiencia del usuario.
Este artículo aborda cómo Cloudflare ha evolucionado su estrategia de benchmarking para obtener una visión más granular y representativa del rendimiento de su red frente a la competencia. La innovación radica en el uso de la infraestructura existente de Challenge Pages para realizar mediciones pasivas, transformando una función de seguridad en una fuente de datos de rendimiento a gran escala. Esto permite una evaluación continua y de alta resolución de la latencia de conexión, esencial para optimizar la infraestructura global de una CDN y un proveedor de seguridad.
Arquitectura del Sistema
La arquitectura de medición se basa en la instrumentación de dos componentes clave de la plataforma Cloudflare: las páginas de error de marca Cloudflare y las Cloudflare Challenge Pages, impulsadas por Cloudflare Turnstile. Cuando un usuario interactúa con cualquiera de estas páginas, se ejecuta un proceso de medición ligero en segundo plano dentro del navegador del usuario. Este proceso realiza solicitudes HTTP a un conjunto fijo de endpoints de referencia, incluyendo Cloudflare y sus competidores (Amazon CloudFront, Google, Fastly, Akamai).
Para cada solicitud, se registra el tiempo de conexión, específicamente el tiempo requerido para completar el handshake TCP. Estos datos se envían de vuelta a la infraestructura de Cloudflare para su agregación y análisis. La métrica principal utilizada para comparar el rendimiento es el 'trimean' de los tiempos de conexión, que es un promedio ponderado de los percentiles 25, 50 y 75. Esta elección mitiga la influencia de valores atípicos extremos mientras captura la experiencia de la mayoría de los usuarios. La integración con Challenge Pages, que se despliegan en una amplia gama de sitios web y condiciones de red, permite una expansión masiva del volumen y la diversidad de los datos recolectados, superando las limitaciones de las mediciones basadas únicamente en páginas de error.
Flujo de Medición de Rendimiento con Challenge Pages
- 1 Usuario Accede a un sitio web protegido por Cloudflare
- 2 Cloudflare WAF Activa una regla de Challenge Page
- 3 Navegador del Usuario Carga la Cloudflare Challenge Page (Turnstile)
- 4 Módulo de Medición Ejecuta en segundo plano, no interactivo
- 5 Navegador del Usuario Realiza solicitudes HTTP a endpoints de proveedores (Cloudflare, AWS, Google,...
- 6 Módulo de Medición Registra tiempo de conexión (TCP handshake) para cada proveedor
- 7 Navegador del Usuario Envía datos de medición a la infraestructura de Cloudflare
- 8 Cloudflare Analytics Agrega y analiza datos, calcula trimean por red
| Capa | Tecnología | Justificación |
|---|---|---|
| observability | Real User Monitoring (RUM) | Recopilación de métricas de rendimiento directamente desde los navegadores de los usuarios finales en condiciones reales de red. vs Synthetic Monitoring, Network Probes |
| security | Cloudflare Challenge Pages (Turnstile) | Plataforma existente utilizada para la verificación de visitantes, que se reutiliza para inyectar el módulo de medición de rendimiento. Muestreo limitado de Challenge Pages gratuitas para evitar impacto en el rendimiento. |
| networking | TCP Handshake | Métrica fundamental utilizada para evaluar el tiempo de conexión, reflejando latencia de red, enrutamiento y congestión. vs HTTP Request Latency, Time to First Byte (TTFB) |
| data-processing | Trimean | Método estadístico para calcular un promedio ponderado de los percentiles 25, 50 y 75 de los tiempos de conexión, reduciendo la influencia de outliers. vs Mean, Median, P99 Latency |
Trade-offs
Ganancias
- ▲ Volumen de datos de rendimiento
- ▲ Diversidad de redes y geografías medidas
- ▲ Estabilidad y confianza en los rankings de rendimiento
- ▲ Resolución en la distinción de pequeñas diferencias de latencia
Costes
- △ Potencial impacto marginal en la latencia de la Challenge Page (mitigado por muestreo)
Fundamentos Teóricos
El problema de la medición de rendimiento en redes distribuidas se relaciona con los principios de la teledetección y la inferencia de red. Conceptos como la estimación de la latencia de ida y vuelta (RTT) y la identificación de cuellos de botella se han estudiado extensamente en la literatura académica. Por ejemplo, trabajos como los de Van Jacobson sobre el control de congestión TCP (1988) sentaron las bases para entender cómo las características de la red afectan el rendimiento.
La metodología de Cloudflare, al recolectar datos de usuarios reales ('Real User Monitoring' o RUM), se alinea con enfoques de investigación que buscan caracterizar el rendimiento de la red desde la perspectiva del cliente final, en contraste con mediciones sintéticas. El uso del 'trimean' como métrica robusta para la tendencia central es una aplicación práctica de estadísticas descriptivas para manejar la variabilidad inherente en los datos de rendimiento de la red, similar a cómo se utilizan percentiles y medianas en estudios de latencia para evitar la distorsión por valores extremos.