Abrir el círculo de amigos para cepillar a un pequeño video, tarjeta en el PPT, incluso si, y, finalmente, en realidad me dan un “fallo de carga”? Hoy en día, incluso viendo un gato o un perro tiene que poner a prueba su paciencia. Do hermano aplicación social debe entender este dolor - los usuarios no se preocupan por su back-end más complejo, sólo piensan que es su tecnología es una mierda.
La latencia es como un asesino invisible, por lo general no se puede sentir, el brote de una tasa de rotación de usuarios directos se disparó al cielo. Ayudé a una plataforma social para hacer la optimización del año pasado, encontró que el retraso medio de sus usuarios del sudeste asiático más de 300ms, los jóvenes cepillado dos a la carrera para utilizar productos de la competencia. Más tarde, con alta defensa CDN dura presión a 80ms o menos, la tasa de retención al día siguiente se elevó 17%.
Muchas personas piensan que la compra de un servidor de gran ancho de banda puede resolver el problema de la latencia, de hecho, puro pensamiento exagerado. El retraso en el escenario real es el resultado de la superposición de múltiples factores: distancia física, saltos de enrutamiento, los operadores pellizcan entre sí, la congestión repentina del tráfico ...... e incluso cables submarinos sacuden puede hacer que la experiencia de vuelta a la era 2G.
Recientemente probado tres proveedores de servicios CDN, encontró que el mismo enlace desde Los Ángeles a Shanghai, algunos pueden ser estables a 120ms, algunos pueden realmente dispararse a 400ms y la pérdida de paquetes. La brecha clave en la disposición de los nodos y la estrategia de enrutamiento - algunos proveedores del “nodo global” es simplemente falsa etiqueta, el aterrizaje real puede ser todo alquilado habitación barata.
La distancia física es dura, pero la optimización de rutas puede salvar vidas
¡La velocidad de la luz límite es la ley de la física, Beijing a Nueva York y la forma de optimizar no puede ser inferior a 60ms. pero la realidad de una gran cantidad de retraso no es causado por la distancia! Agarré un usuario de Singapur para acceder a la ruta del servidor de Shenzhen, obviamente, la conexión directa, siempre y cuando 80ms, pero el desvío real a Japón y luego a su vez a los Estados Unidos, en vivo fuera de los 220ms del fantasma de latencia.
Este es un caso típico de estrategia de enrutamiento anulada. Algunos pequeños CDN para ahorrar costes, todo el tráfico a unos pocos nodos centrales y luego reenviar, el nombre es “programación inteligente”, de hecho, cortar las esquinas. Buena CDN debe dejar que el tráfico como un coche de la gota, en cualquier momento para que coincida con el nodo más cercano disponible, e incluso prejuzgar la trayectoria móvil del usuario antes de recursos de programación.
El acceso de proximidad no es un simple juicio geográfico
No creas en esos esquemas de “asignar nodos en función de la geolocalización de la IP”. Los usuarios de telefonía móvil están siempre en movimiento, y al cambiar entre 4G y Wi-Fi, las IP pueden cruzar provincias instantáneamente. Es más, algunos operadores no actualizan su base de datos de IP durante años, así que no es extraño asignar usuarios de Shanghái a nodos de Pekín.
La solución que estoy utilizando ahora es de triple juicio: geobase IP + detección de red en tiempo real + GPS del dispositivo (requiere autorización). Por ejemplo, si se detecta que un usuario se desplaza del distrito de Chaoyang al de Haidian, cambiará automáticamente a un nodo más cercano en 5 minutos aunque la IP no haya cambiado. Esta estrategia ha sido probada para reducir las fluctuaciones de retardo en escenarios móviles por 40%.
Publique un fragmento de la lógica de selección de nodos en uso (pseudocódigo):
La optimización de rutas BGP es la baza oculta
Lo mismo ocurre desde la sala de servidores de Pekín al usuario de Guangzhou, la conexión directa de telecomunicaciones puede ser de 80 ms, si se toma el tránsito de Unicom puede dispararse hasta los 200 ms. Una CDN de alta calidad debe disponer de interconexiones BGP multilínea, y puede detectar en tiempo real la conmutación dinámica de la calidad del enlace del operador.
Mención especial de CDN07 esto, su red Anycast para hacer realmente difícil. El año pasado, durante el doble once para ayudar a los clientes de comercio electrónico para llevar el tráfico, automáticamente South China Telecom tráfico congestionado corte a la línea móvil, el retraso de 190ms hasta 110ms, el usuario es completamente inconsciente.
Comparación probada de los resultados de optimización de rutas (en ms) de los tres:
En lugar de una función de alta defensa, ¿podría aumentar la latencia?
Algunos proveedores, para destacar sus capacidades de protección, dirigen todo el tráfico a centros de limpieza de alta defensa. Los usuarios que acceden a una imagen tienen que pasar por un nodo de protección en un agujero negro a 800 kilómetros de distancia, ¿que no es una bajada de pantalones? La verdadera solución razonable debería ser seguridad de borde + protección centralizada.
He visto un diseño muy inteligente en la consola de CDN07: el tráfico normal se distribuye cerca, y sólo el tráfico sospechoso de ser un ataque se redirige al centro de limpieza. Este equilibrio es bastante sofisticado para garantizar la seguridad sin afectar a la experiencia normal del usuario.
El ajuste del protocolo TCP puede restar entre 10 y 20 ms de detalle
Mucha gente ignora la optimización de la capa de transporte; de hecho, cada milisegundo que se recorta aquí es una mejora real de la experiencia. Por ejemplo, ajustar la ventana de congestión inicial (initcwnd), de 10 a 16 puede hacer que los archivos pequeños se carguen un círculo más rápido. Otro ejemplo es abrir TCP Fast Open, el RTT del primer paquete ahorra directamente 1/3.
Compartiendo un fragmento de ajuste de parámetros del kernel que realmente funciona:
No olvides la metafísica de la capa física
Una vez se encontró con un caso extraño: la latencia de un nodo CDN periódicamente se dispara alto, y, finalmente, encontró que el aire acondicionado en la sala de servidores está programado para comenzar a causar cambios de temperatura, la frecuencia de cristal de la tarjeta de red deriva ...... Este problema no se puede encontrar mirando a los gráficos de monitoreo, usted tiene que ponerse en cuclillas en la sala de servidores con el fin de atraparlo. Por lo tanto, a la hora de elegir un proveedor de CDN, lo mejor es ver si tiene una sala de servidores construida por ellos mismos, y el control de calidad de la sala de servidores alquilada depende realmente de la suerte.
El nuevo acuerdo no es una bala de plata, pero merece la pena intentarlo.
El protocolo QUIC realmente funciona sorprendentemente bien en redes móviles, especialmente en entornos de red débiles. Pero no cambiar ciegamente todo el sitio, algunos equipos antiguos compatibilidad puede hacer que la depuración de dudar de la vida. Se recomienda utilizar primero en la imagen, el vídeo, estos recursos tolerantes a fallos, estable y luego promover gradualmente.
Datos reales: QUIC en una red 4G tiene una latencia 23% menor que TCP y una recuperación de la pérdida de paquetes 5 veces más rápida. Sin embargo, la ventaja en un entorno Wi-Fi no es evidente, e incluso puede ser peor debido a la sobrecarga de cifrado.
Utilizar indicadores multidimensionales para el seguimiento
Fijarse sólo en la latencia media es contraproducente. Debo mirar el percentil 95 de latencia y la varianza de latencia, esta última refleja mejor la experiencia del usuario - los usuarios prefieren tener unos 150ms estables que una montaña rusa de 80ms y 300ms. Recomendamos utilizar el modo de película de WebPageTest para restaurar realmente la experiencia del usuario, que es mucho más intuitivo que mirar los números.
Por último, me gustaría decir que algunos proveedores de CDN del mercado tienen mucha agua en los datos de sus nodos para poder alimentar a los peces. La afirmación de que 500 nodos pueden utilizar en realidad menos de 200, e incluso algunos con puertos de 1 Gbps que simulan ser de 10 Gbps. prueba debe utilizarse para ejecutar un completo 24 horas de tráfico real de negocios, mientras que el uso de herramientas de terceros para la verificación cruzada.
Una CDN social de alta calidad debería existir como el aire: los usuarios no pueden sentirla, pero no pueden alejarse de ella ni un momento. Ahora, cada vez que veo a un amigo publicar un vídeo que se carga en segundos, sé que hay un equipo detrás de la optimización del enrutamiento, la programación de nodos en cada milisegundo. Este tipo de lucha de la gente técnica, es el fondo más duro de la experiencia del usuario.

