El caso
El sitio está en línea. Pero en Tokio, es lento.
La tienda de Isaac corre en São Paulo y es rápida para quien compra desde Brasil. Empezó a vender café a Japón, y allá cada clic parece tardar una eternidad. El servidor es el mismo. Lo que cambió fue la distancia.
Este post parte de los conceptos de Fundamentos de la nube y prepara el terreno para Regiones y zonas.
El concepto
Qué es la latencia
La latencia es el tiempo que un dato tarda en ir de un punto a otro. En la práctica, lo que más importa es el tiempo de ida y vuelta (round-trip time, o RTT): el pedido sale del navegador, llega al servidor y la respuesta vuelve.
Es como mandar una pregunta por correo. No importa el tamaño de la carta: si el destinatario vive al otro lado del mundo, la respuesta tarda en llegar. Escribir más rápido no lo resuelve; la distancia sigue ahí.
La latencia se mide en milisegundos (ms). Parece poco, pero una página suele hacer decenas de idas y vueltas hasta aparecer completa, y los milisegundos se suman.
El límite
La culpa es de la física
Los datos viajan como luz dentro de la fibra óptica, a unos 200.000 km/s, dos tercios de la velocidad de la luz en el vacío. Es rápido, pero no es instantáneo: cada 1.000 km cuestan 5 ms solo de ida, o 10 ms de ida y vuelta.
| Desde São Paulo hasta | Distancia | Mínimo de ida y vuelta (round-trip) |
|---|---|---|
| Río de Janeiro | 361 km | 4 ms |
| Virginia (EE. UU.) | 7.651 km | 77 ms |
| Londres | 9.496 km | 95 ms |
| Tokio | 18.534 km | 185 ms |
Ninguna optimización de código vence a la física. Para reducir esa parte de la latencia, solo hay un camino: acortar la distancia.
No confundas
Latencia × ancho de banda
Las dos suelen llamarse "velocidad de internet", pero miden cosas distintas.
Latencia (latency)
“¿Cuánto tarda el dato en llegar?”
- Ejemplo
- Un clic en Tokio espera la respuesta de un servidor en São Paulo.
- Foco
- Distancia y tiempo de respuesta, en milisegundos.
Ancho de banda (bandwidth)
“¿Cuántos datos pasan al mismo tiempo?”
- Ejemplo
- Descargar un video de 4 GB con una conexión de 100 Mbps.
- Foco
- Volumen por segundo, en Mbps o Gbps.
Piensa en una autopista. El ancho de banda es la cantidad de carriles: cuántos autos pasan al mismo tiempo. La latencia es el tiempo del viaje de un extremo al otro. Ensanchar la carretera deja pasar más autos, pero no acorta el viaje.
En la práctica
Cómo medir
La forma más simple es el comando ping, que mide el tiempo de ida y vuelta hasta una dirección:
$ ping exemplo.com
64 bytes from 93.184.215.14: icmp_seq=0 ttl=56 time=118 msEn sistemas reales, nadie mira una sola medición. El tiempo varía en cada pedido, y el promedio engaña: unos pocos pedidos muy lentos quedan escondidos detrás de muchos rápidos. Por eso se usan los percentiles:
p50 (mediana)
La mitad de los pedidos fue más rápida que ese valor. Es la experiencia típica.
p95
El 95% de los pedidos fue más rápido. Muestra los casos malos comunes.
p99
Solo el 1% fue más lento. En millones de pedidos, ese 1% sigue siendo mucha gente.
La solución
Cómo reducirla
Si la distancia es el problema, la solución es llevar el contenido cerca de quien lo usa, y hacer menos viajes.
Región más cercana (closest region)
Ejecutar la aplicación en la región más cerca de la mayoría de los usuarios. Es el tema de Regiones y zonas.
CDN
Una red de servidores repartidos por el mundo guarda copias del contenido estático (imágenes, videos, scripts) cerca de cada usuario.
Caché
Guardar respuestas ya calculadas para no repetir el trabajo ni el viaje en cada pedido.
Menos idas y vueltas (fewer round trips)
Juntar varios pedidos en uno. Cada ida y vuelta evitada es latencia ahorrada.
Las CDN funcionan con puntos de presencia (edge locations) en decenas de ciudades. Quien está en Tokio recibe las imágenes de la tienda desde un servidor en Tokio, y no desde São Paulo.
Los proveedores ofrecen CDN propias o de socios. Algunos ejemplos: Amazon CloudFront en AWS, Azure Front Door en Azure y Cloud CDN en Google Cloud.
Términos clave
Seis términos para recordar
Toca la tarjeta para ver la definición.
Prueba rápida
Tres preguntas, estilo examen
01
Una empresa duplicó el ancho de banda, pero los usuarios del otro lado del mundo siguen viendo el sitio lento. ¿Qué lo explica?
02
Un sitio de videos tiene usuarios en varios continentes. ¿Qué servicio reduce la latencia para entregar los videos?
03
El tiempo de respuesta promedio de una API es de 80 ms, pero algunos usuarios se quejan de lentitud. ¿Qué métrica revela el problema?
La latencia aparece en cualquier certificación de nube: AWS, Azure, Google Cloud u Oracle Cloud. Es ella la que justifica regiones cerca de los usuarios, CDN y cachés. Los nombres de los servicios cambian; la física es la misma.