Ancho de banda, latencia y tenerla grande (la conectividad)

·

El tamaño importa, ¿pero cuánto? Pues las pruebas que se han hecho dicen que tener una conexión a 5 Mbps es suficiente para que un sitio web funcione de forma bastante razonable siempre desde el punto de vista del cliente, claro. Y es que Internet, como en muchas ocasiones dice Jaime Ferré es como un milagro que funcione, pero tiene limitaciones físicas, porque la velocidad de la luz es la que es.

En muchas ocasiones hablamos que una web ha de cargar rápido y que cargue rápido significa que ha de tardar entre 1,5 y 2,5 segundos. En este tiempo hemos de incluir el tiempo desde que el usuario pulsa «Intro» en su navegador hasta que la página se muestra por pantalla. Y en la mayor parte de veces nos paramos a revisar los pequeños detalles de la carga del propio sitio: que si unir y minimizar CSS y JavaScript, hacer la menor cantidad de peticiones, CSS Sprites… pero hay una limitación física sobre la que la mayor parte de gente no piensa: la distancia.

Imagina que tienes tu servidor web en Estados Unidos, en Boston, por ejemplo. Tú vives en Madrid. Cada vez que hagas una petición a tu sitio web has de ir de tu casa al centro de datos de Madrid, de este a París, Londres, Nueva York, Boston, y volver. En total más de 7.700 kilómetros de cable con varios routers de por medio. Teniendo en cuenta que la velocidad de la luz por cables de fibra óptica es de 200.000 km/h (a diferencia de los 300.000 km/h que tiene en el vacío), sólo por la distancia de cable ya tenemos un tiempo de espera de 38ms, que en ida y vuelta son el doble, 76ms. Y este tiempo es sin contar con los routers y la electrónica que pueda haber, sin tener en cuenta pérdidas y suponiendo que la conexión es directamente con fibra de punto a punto yendo un bit a la máxima velocidad. Esto significa que, prácticamente, 1 décima de segundo se pierde en la conectividad en sí.

Ahora pongamos un ejemplo más práctico. Tenemos una imagen en el servidor que pesa 25KB. Hacer la petición a esa imagen desde Madrid hasta Boston implicaría unos 45ms en la petición, otros 45ms en la respuesta y unos 5ms en traer la información. Esto sería con una conexión de 5 Mbps sin pérdidas. Esto significa que de los 95ms que tarda en hacerse todo el proceso, más del 90% de la información se reduce a tiempos de latencia de la red.

Y ahora que sabes esto… ¿aún te preguntas porqué tu sitio web carga lento? Recuerda que es importante que tus servidores estén cerca (físicamente) de tus usuarios, y si no puede ser así, utilizar sistemas como BGP para conseguirlo.

Comments

5 respuestas a «Ancho de banda, latencia y tenerla grande (la conectividad)»

  1. Avatar de Marcos

    Hola Javier,

    Si tienes una web con usuarios en España y América Latina ¿qué sistema recomiendas para minimizar al máximo la latencia y que nuestros usuarios latinos puedan cargar tan rápido, al menos, como los españoles?

  2. Avatar de Kusflo

    ¿Y crees que compensaría para un proyecto relativamente pequeño?. ¿Serían los hostings de Amazon una buena opción para tener servidores cerca casi en cualquier parte?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *