¿Cómo afecta el ancho de banda al rendimiento del sitio web?

Uno de los aspectos más cruciales del rendimiento de un sitio web es la cantidad de ancho de banda asignado a su uso. El ancho de banda determina la rapidez con la que el servidor web puede cargar la información solicitada. Si bien hay otros factores a considerar con respecto al rendimiento de un sitio web, el ancho de banda es con frecuencia el factor limitante.

Definición de ancho de banda

El ancho de banda se define en términos de número de bits por segundo. Un bit es la cantidad más pequeña de información de la computadora, cero o uno, y ocho de ellos forman un solo byte. Históricamente, las conexiones de red se miden en bits, mientras que los dispositivos del usuario final, como la memoria de la computadora y los discos duros, se miden en bytes. Un megabit tiene poco más de un millón de bits (más precisamente, 1.048.576 bits), mientras que un gigabit tiene más de mil millones de bits (precisamente 1.073.741.824 bits). Por lo tanto, una conexión de 100 megabits por segundo puede enviar más de 104 millones de bits por segundo, lo que es más útil en términos de 13 MB por segundo.

Calcular los requisitos de ancho de banda

La mayoría de los servidores web envían imágenes y páginas estáticas a los navegadores web cuando se solicitan, lo que significa que no es necesario modificar estos archivos antes de que se carguen en Internet. En estos casos, los requisitos de ancho de banda son bastante sencillos. Sume la cantidad total de bytes utilizados por los recursos que componen una página en particular en su sitio: una página HTML es una cierta cantidad de kilobytes de HTML, JavaScript y archivos incluidos, mientras que las imágenes que solicita la página probablemente serán un número mayor de kilobytes. Por ejemplo, una página de inicio puede tener 25 KB de HTML, hojas de estilo en cascada y JavaScript, que luego solicita 250 KB de imágenes. Por lo tanto, al solicitar esta página por primera vez, necesitaría 275 KB de datos, o 2200 kilobits. Con una conexión a Internet de 100 megabits, usaría poco más de un cuarto de un megabit durante un segundo, lo que equivale aproximadamente a que 300 usuarios simultáneos puedan acceder al sitio sin disminuir la velocidad. Siempre se pierde cierta cantidad de ancho de banda debido a los requisitos de la red aérea, por lo que es una buena idea redondear estas estimaciones (en este caso, de 364 a 300). Los sitios web que esperan más de 300 usuarios simultáneos, por lo tanto, necesitarían más ancho de banda de Internet o utilizarían archivos más pequeños en sus páginas de inicio.

Cuello de botella de la CPU

Un sitio web también puede verse ralentizado por la necesidad de entregar archivos dinámicos. Este es el caso siempre que se genera una página web basada en código de programación; por ejemplo, las páginas de un sitio de WordPress no son HTML estático, sino que se generan a pedido mediante programación PHP en la plantilla de WordPress. Un sitio dinámico con los mismos parámetros que el ejemplo de la página estática podría manejar solo 300 usuarios simultáneos si los requisitos de CPU para generar cada página son aproximadamente menos de un tercio del 1 por ciento de la CPU. Por otro lado, si el 1 por ciento de la CPU se usa para generar una página, entonces el número máximo de usuarios simultáneos estará más cerca de 100 que de 300, aunque su ancho de banda disponible puede manejar más usuarios.

Redes de entrega de contenido y almacenamiento en caché

El cuello de botella del ancho de banda se puede mejorar mediante el uso de redes de entrega de contenido, o CDN, que almacenan copias de los datos de su servidor web, generalmente en varios puntos de Internet. Por ejemplo, una CDN puede estar ubicada en Tokio y Londres, duplicando - o almacenando en caché - información de su servidor web para usuarios en Asia y Europa respectivamente. El CDN está físicamente más cerca del usuario, lo que acelera la entrega y reduce el número de visitas a su servidor web principal. Asimismo, el almacenamiento en caché en el servidor web local o CDN también puede reducir en gran medida los requisitos de CPU, pero a costa de enviar páginas ligeramente desactualizadas a los navegadores web.