Cuatro componentes del tiempo de carga de un sitio web

Home / Private: Artículos sobre negocios online / Cuatro componentes del tiempo de carga de un sitio web

Los factores que impactan sobre el tiempo total de carga de una página web pueden ser agrupados en las siguientes categorías:

  • Conexión entre el navegador del visitante y el servidor donde se encuentra alojado el sitio
  • Generación de la respuesta
  • Transmisión
  • Visualización

Veamos en más detalle:

Conexión entre el visitante y el servidor

Cuando un visitante accede a una página web, lo que sucede es, a grandes rasgos, lo siguiente:

  • El navegador (Chrome, FireFox, Internet Explorer o similares) solicita a un servidor de nombres la traducción de la URL de la página (Por ejemplo: http://www.leewayweb.com) en una dirección IP (45.55.62.127). Este servicio funciona como las viejas guías telefónicas, donde realizabas una búsqueda por el nombre de la persona a la que querías llamar y obtenías su teléfono.
  • Con ese número, el navegador intenta una conexión al servidor identificado con esa IP y le solicita un recurso que está ahí alojado (Por ejemplo la página index.html).

El tiempo que tome realizar estos pasos depende principalmente de:

  • Cuánto tiempo tome la traducción de URL en IP
  • Cuánto tiempo tome la conexión entre el cliente y el servidor

Sin entrar en demasiados detalles técnicos, diría que es poco lo que el dueño de un sitio puede hacer para mejorar este tiempo. (Poco no significa nada, pero en general, la ganancia obtenida por este medio no justifica el costo).

Generación de la respuesta

Aquí las cosas se ponen más interesantes, es uno de los puntos sobre los que más control tiene el dueño del sitio.

Veamos qué sucede:

Cuando el servidor recibe el pedido de un cliente, se espera que devuelva una respuesta que coincida con el recurso solicitado.

Existen dos posibilidades (asumiendo que el recurso está efectivamente disponible en ese servidor y para ese cliente):

  1. Que la respuesta sea la misma para todos los clientes que solicitan el recurso (Lo que se conoce como página estática)
  2. Que la respuesta sea diferente para cada cliente que solicita el recurso (Lo que se conoce como página dinámica)

En el primero de los casos, el tiempo de generación de la respuesta es despreciable (Se trata simplemente de abrir un archivo y enviar su contenido, lo que veremos en la próxima sección).

En caso de que se trate de una página dinámica, la complejidad de la generación de la respuesta tendrá un gran impacto en el tiempo que tome este paso.

Un ejemplo típico es el de una página que se construye mediante la obtención de información de una base de datos.

En este escenario, la cantidad de datos a analizar y la forma en que estos cálculos están implementados repercutirá en forma directa con el tiempo que un usuario deberá esperar para visualizar la página a la que desea acceder.

Otro punto importante que afecta al tiempo de generación de la respuesta lo constituye la cantidad de visitantes que están queriendo acceder en forma simultánea al mismo recurso (Cuanta mayor sea la demanda, mayor la exigencia sobre el servidor y por ende, si el servidor no es suficientemente potente, todos los visitantes se verán afectados).

Como decía al principio de este apartado, este es un punto sobre el que el dueño de un sitio tiene amplio margen de maniobra pero a la vez, la solución de este tipo de problemas suele ser bastante costosa (Implica ampliaciones de hardware o reingenierías del software que genera las páginas).

Transmisión

Una vez que la respuesta está disponible en el servidor, para que el visitante la vea, esta información debe hacer el “viaje de vuelta” (Desde el servidor hacia el cliente).

En este punto tres factores se conjugan para determinar el tiempo que insume este paso:

  1. El ancho de banda de salida del servidor (Cuánta información puede enviar el servidor en un determinado período de tiempo).
  2. El ancho de banda de entrada del cliente (Cuánta información puede recibir el cliente en un determinado período de tiempo).
  3. Qué cantidad de información se requiere enviar

Es evidente que, como dueños de un sitio web sólo podemos influir sobre los factores 1 y 3 (No es muy agradable decirle a una persona que navega nuestro sitio que tiene que mejorar su conexión… ¡y es más difícil hacerlo uno mismo por ellos!).

Nuevamente, aquí nos encontramos ante un factor sobre el que podemos influir y, generalmente, se puede lograr un buen balance entre costo y ganancia al resolver este tipo de problemas.

Visualización

Y así llegamos al último punto (no menos importante por supuesto) que consiste en la visualización.

En este momento el cliente ya tiene toda la información que necesita (Ya descargó del servidor todas las instrucciones necesarias para mostrar la página tal como la imaginó el diseñador), sólo hace falta organizarla de una forma que no parezca una pantalla de Matrix :).

Esto que puede parecer trivial no lo es. Depende mucho de cómo esté armada la página y qué tan bien estructurada esté cuánto tiempo le tomará al navegador poner todos los elementos delante del visitante.

Este es otro punto interesante para aplicar técnicas de optimización. Con poca intervención se puede ganar mucho, pero es necesario ser muy cuidadoso en la selección de medidas a implementar.

 

Algunas notas adicionales

Esta ha sido una muy breve introducción a conceptos de optimización de rendimiento web (WPO por sus siglas en inglés). Hacer un recorrido más extenso no cabría en un post (ni dos, ni tres), pero espero que te haya servido para empezar a comprender cómo pensar en optimizar tu sitio.

En mi libro “Preparando tu sitio web para la Alta Competencia” profundizo sobre este y otros temas que tienen que ver con la optimización de sitios web.

 

Dejame tu correo para recibir novedades sobre el libro:


Para saber más acerca del impacto de las nuevas tecnologías en su negocio deje sus datos aquí