Recientemente, siempre hay gente en el grupo quejándose, dijo en la CDN de alta defensa después de que el sitio lento como un caracol, la experiencia del usuario directamente a través del corazón de la tierra. Miro a esta situación en el feliz - este problema pisé el hoyo hace cinco años, no esperaba que ahora hay tantas personas se dirigen a ella. CDN de alta defensa es esencialmente un “guardaespaldas”, pero si deja que el guardaespaldas de pie en la posición incorrecta, no sólo puede bloquear las balas, pero también bloqueó todos los clientes fuera de la puerta.
Para ser honesto, la alta latencia de esta olla realmente no puede dejar que todos los CDN espalda. He encontrado que el ochenta por ciento de los casos es un problema de configuración, el dos por ciento de los nodos son elegidos para ser malo. El año pasado para ayudar a una estación de comercio electrónico para hacer la migración, el uso original de un gran CDN de alta defensa, la latencia se disparó a 300ms +, las quejas de los usuarios que el orden es más. Más tarde, una operación presionado a 80ms o menos, la tasa de conversión directamente de nuevo a 15%. Hoy voy a poner el fondo de las técnicas de optimización fuera de la caja, no se limite a recoger, recuerde probar.
Descubre primero al culpable: ¿cuál es la naturaleza del subidón retardado?
Muchas personas ven la alta latencia en los vendedores de CDN maldición, de hecho, la probabilidad es que usted mismo no entiende. CDN de alta defensa con el fin de llevar el ataque, el tráfico tiene que ser filtrado alrededor del centro de limpieza, y luego de vuelta a la fuente al servidor. Más saltar una vuelta, la latencia, naturalmente, subir. Pero la clave es - la ubicación del centro de limpieza, de vuelta a la estrategia de origen, la selección del protocolo, todos pueden hacer algo.
El caso más escandaloso que he visto es cuando una empresa utilizó un nodo de EE.UU. para acelerar los usuarios nacionales y se quejó de lag. Hermano, esto ya no es un problema de latencia, es una clase de geografía no pasó ah. Además, el apretón de manos TLS, tamaño de la ventana TCP, tasa de aciertos de caché de estos detalles subyacentes, es realmente la mano que estrangula el cuello de la demora.
Consejo 1: Selección inteligente de nodos, no confíe en la “autooptimización” de los proveedores”
A los proveedores de CDN les gusta presumir de su programación inteligente, pero no se lo crea. Su supuesto “nodo óptimo” puede ser el de menor coste, no el más rápido. Cuando utilicé CDN5, descubrí que siempre programaba a los usuarios en nodos fríos de baja carga, y la latencia se duplicaba directamente.
Entonces forcé mi entrada e hice dos cosas: primero, utilicé una sonda autoconstruida para monitorizar la latencia de los nodos en tiempo real. Escribir un script para ejecutar ping y traceroute con regularidad, y tirar de los datos en su propia base de datos para el análisis. En segundo lugar, en función de la zona geográfica del usuario y el operador para hacer una programación ajustada. Los usuarios de telecomunicaciones no deben ser arrojados al nodo Unicom, los usuarios de Guangdong duro para el nodo de Beijing es puramente en busca de regaño.
Aquí está el script de detección de nodos que estoy usando (versión Python):
Si se ejecuta durante una semana, usted será capaz de dibujar un mapa de calor de la latencia, y estará claro qué nodo es estable y qué nodo está flotando. A continuación, hacer algo en el nivel de DNS, utilizando DNSPod o resolución inteligente de Cloudflare, de acuerdo con diferentes operadores y provincias para volver a diferentes IPs de nodo. la prueba real de este conjunto de operaciones puede hacer que el retraso hacia abajo 40%, que los vendedores presumen de la “programación inteligente” diez veces más útil.
Consejo 2: Optimización de protocolos para mantener a raya a TCP/TLS
HTTP/2 y HTTP/3 son las verdaderas leyes del sabor. El año pasado estaba optimizando para un cliente de 08Host y descubrí que seguían utilizando HTTP/1.1, con nuevas conexiones para cada recurso y el protocolo TLS ocupando la mayor parte del tiempo. Tras forzar una actualización a HTTP/2, la multiplexación redujo directamente el tiempo de carga a la mitad.
Pero el más despiadado es HTTP/3 (basado en QUIC). Este protocolo es intrínsecamente resistente a la pérdida de paquetes, especialmente adecuado para las fluctuaciones de la red móvil en la escena. cdn07 ha sido totalmente compatible, abra las fluctuaciones de retardo puede ser reducido por 30%. Sin embargo, tenga en cuenta que el equipo antiguo puede ser la compatibilidad tirón entrepierna, tienen que hacer un buen trabajo de programa de degradación.
Ejemplo de configuración de Nginx (con HTTP/2 y TLS 0-RTT activados):
Además, el handshake TLS es un asesino invisible. Se recomienda activar la reanudación de sesión y el grapado OCSP, que pueden comprimir el tiempo de handshake de 300 ms a 100 ms. Hubo un cliente que no se creía que TLS tuviera un impacto tan grande, y le enseñé la tabla comparativa de captura de paquetes de Wireshark y se calló de inmediato.
Consejo 3: Estrategias de almacenamiento en caché y Edge Computing para superar las peticiones dinámicas a las estáticas
El uso más estúpido de CDN de alta defensa es todo el sitio de vuelta a la fuente. Algunos de mis compañeros incluso llevan imágenes y CSS de vuelta a la fuente dinámicamente, así que si no te quedas atascado, ¿con quién te quedas atascado? He visto que la optimización más feroz es transformar la petición dinámica 60% en caché de borde.
Por ejemplo, el estado de inicio de sesión de usuario de tal aparentemente necesario para volver a la fuente de la solicitud, de hecho, se puede utilizar la computación de borde para hacer frente a. CDN5 y CDN07 apoyan el almacenamiento KV borde, la caché de sesión de usuario al nodo, lo que reduce el retorno a la fuente de la ida y vuelta. 08Host es más despiadado, apoyar directamente el borde de la WebAssembly en ejecución, se puede agregar a nivel de nodo de la solicitud de API.
Las reglas de caché tienen que ser claves a muerte:
¡No olvides precalentar la caché! Especialmente antes de la gran promoción, utilice el script para cepillar los recursos populares para el nodo de borde CDN de antemano. Una vez hubo una estación de comercio electrónico no hizo calentamiento, después del inicio de la CDN evento de vuelta a la fuente del tráfico estalló el servidor, todo el 50% en la página de error 502.
Huevos de marca: acrobacias de latencia de tres proveedores de CDN
Experiencia puramente subjetiva, sólo para referencia: CDN5 Asia-Pacífico ladrón de control de latencia de nodo estable, especialmente en Hong Kong y Singapur, un promedio de 80ms o menos, pero Europa y los Estados Unidos nodos son más tirando. CDN07 HTTP/3 aplicación de los más radicales, la optimización móvil es bueno, pero la configuración del fondo anti-humano. 08Host tazón barato, línea BGP doméstica es buena, pero la capacidad de prevenir DDoS no es tan bueno como los dos primeros, adecuado para el ataque no es escenarios frecuentes. Escenarios frecuentes.
Una última advertencia: la optimización de la latencia es una lucha constante, no algo que se hace de una vez por todas una vez que el partido se ha disputado.
Ejecuta el mapeo de latencia una vez al mes, comprueba los accesos a la caché semanalmente y vigila la monitorización en tiempo real a diario. Si tienes las condiciones, puedes utilizar la herramienta APM de enlace completo, y si no las tienes, puedes escribir scripts para monitorizar tú mismo. Una vez que pensé que la optimización estaba en su sitio, el resultado fue que cierto operador de repente tuvo un tirón de enrutamiento, y la latencia del nodo se disparó. Más tarde, hice un failover multilínea, y sólo entonces se quedó completamente plano.
Una CDN de alta defensa no es una bala de plata, es un juego de compromiso: un juego entre seguridad y latencia. Para conseguir ambos, tienes que afinarlo tú mismo. Aquellos que cuentan con hermanos out-of-the-box, se recomienda aumentar directamente el dinero en el ANYCAST global, de lo contrario es honestamente de acuerdo a mis habilidades tirar. Recuerde, el dinero ahorrado en la optimización de la latencia vale mucho más que la propia factura CDN.

