| Artículos | 01 SEP 2001

Aceleradores de sitios Web

Lentitud = fracaso
Existen cinco procedimientos diferentes para acelerar el rendimiento –o, más exactamente, la velocidad percibida por el usuario– de un sitio Web: caching, compresión, optimización, CDN y software de cliente.

Cuando lo que verdaderamente importa es lograr que los visitantes de un sitio Web disfruten de una experiencia satisfactoria, la velocidad constituye un factor esencial. La lentitud en la descarga de páginas –más de ocho segundos debería ser inaceptable para los usuarios– provoca una sensación de frustración en el visitante, quien acaba por abandonar el carro de la compra, si lo hay, y el sitio, y, casi peor, se lleva una mala imagen de esas páginas Web difícil de borrar y fácilmente propagable entre la comunidad internauta.
No es de extrañar, por tanto, que, en estos momentos en que domina la vuelta a los principios básicos de los negocios, la necesidad de dar un servicio rápido al mayor número posible de clientes con los servidores y anchos de banda mínimos imprescindibles haya creado un nuevo mercado: los productos de aceleración de sitios Web.
No obstante, es difícil concretar el punto en que esta aceleración resulta efectiva. Desde la perspectiva del usuario, un sitio es rápido o lento, no hay términos medios. Los visitantes no tienen en cuenta la cantidad de bytes transmitidos, los saltos realizados, el número de visitas soportadas por el sitio en ese mismo momento ni otros muchos factores. El tiempo es lo único que importa.
Los administradores de sitios Web, aunque los componentes potencialmente causantes de retrasos son numerosos, concentran su atención principalmente en el servidor, la red y el cliente, en diferente grado en cada uno de estos elementos según el caso. Así, por ejemplo, en un sitio dirigido al consumo, el administrador posee más control sobre el servidor que sobre el cliente.

Velocidad y escalabilidad
Antes de analizar los diversos esquemas que pueden seguirse a fin de mejorar el rendimiento de los sitios, es preciso esclarecer la relación entre velocidad y escalabilidad. Cuando un sitio tiene demasiados usuarios, el servidor se sobrecarga y se vuelve lento. Si en estas circunstancias se añaden más servidores y se utiliza un balanceador de cargas o una solución de clustering, se logrará escalar con efectividad el sitio y, en consecuencia, conseguir niveles de rendimiento aceptables.
Sin embargo, aunque el sitio aparezca a los visitantes como más rápido cuando se escala adecuadamente, no necesariamente se mejora el rendimiento sobre la capacidad inicialmente planificada. Pero si, al contrario, se incrementa el rendimiento del sitio, suelen obtenerse mejoras en la capacidad. Cuando las páginas son servidas más rápido mediante la limitación de la carga de trabajo del servidor, o evitando completamente su intervención con el uso de caché o redes de distribución de contenidos (CDN), el sitio puede soportar más usuarios.

Más potencia para el servidor
Obviamente, es posible incrementar la velocidad introduciendo discos más rápidos y mejores configuraciones de acceso a la red. También con tarjetas especializadas, como Velobahn de Akamba, capaces de incrementar la velocidad del servidor, o utilizando tarjetas de interfaz de red más potentes, como las del fabricante Alacritech. La clave de este tipo de alternativas reside en liberar la CPU del servidor Web del procesamiento del protocolo de red, permitiéndole dedicar sus recursos exclusivamente a la generación y provisión de páginas.
Otro punto, aún en el ámbito del servidor, donde el administrador puede actuar para acelerar su sitio es el software de servidor Web. Si se busca una solución para exprimir al máximo el rendimiento de la plataforma, conviene plantearse la implementación del ya clásico líder en velocidad de servidor Web, Zeus. Y en los próximos años habrá más alternativas, ya que los dispositivos de servidor Web con sistemas operativos y servidores embebidos y altamente optimizados competirán dignamente incluso con Zeus.

La opción del cache
Otra alternativa para conseguir más escalabilidad y rendimiento del servidor es la adición de caché al conjunto. Un popular enfoque consiste en añadir caché proxy inverso para entregar páginas que ya han sido creadas y cargar al servidor sólo con el contenido creado dinámicamente.
Es bastante sencillo construir la propia caché utilizando Squid; también se puede comprar alguno de los numerosos productos basados en hardware disponibles en el mercado. La oferta va desde alternativas con un precio moderado, como Sun Cobalt CacheRaQ, hasta los dispositivos de gama alta de CacheFlow. De cualquier modo, se ha de ser cauteloso, ya que muchos sistemas caché basados en hardware consisten en realidad en servidores Linux reempaquetados que corren el software Squid.
Pese a su atractivo, un punto débil de los productos caché es que frecuentemente no manejan bien los contenidos generados de forma dinámica; en el caso de páginas realmente dinámicas, pueden hacer que la visualización sea más lenta. No obstante, se están proponiendo diversas soluciones de caching de contenidos dinámicos, aunque a veces el aprovechamiento de su potencial exige bastante trabajo y conocimientos técnicos.

Acercándose al usuario
Las redes plantean serios retos para la distribución de páginas. No existe suministrador de hosting inmune a los problemas de tráfico o de los routers, ni los sitios Web lograrán estar cerca de cada usuario a menos que cuenten con una infraestructura específicamente diseñada para ello.
Una alternativa consiste en establecer múltiples servidores alrededor del mundo y utilizar un dispositivo de balanceo de cargas global, como Web Server Director de Radware, para llevar a los usuarios al sitio más próximo. También cabe la posibilidad de recurrir a una CDN, como Akamai o SolidSpeed, a fin de llevar el contenido del sitio más cerca de los usuarios mediante el emplazamiento de objetos de páginas estáticas de gran tamaño, como imágenes y ficheros PDF, en cachés cercanas a ellos. Con estas redes de extremo, el grueso del contenido de una página Web llega al usuario más rápidamente, y de un modo menos propenso a los problemas de tráfico propios de trayectos más largos.
El único inconveniente es que los servicios CDN suelen ser caros y requieren la reescritura de las páginas aceleradas para referirlas a los objetos sometidos a caché. La recientemente aparecida especificación Edge Side Includes (ESI) promete mejorar el problema de la creación de contenidos para tratamiento dinámico y la entrega utilizando redes CDN, algo que ayudaría al éxito de las redes de distribución de extremo una vez que los precios comiencen a bajar.

¿Mejor cuanto más pequeño?
La compresión puede ser utilizada para reducir el volumen de los datos a distribuir, lo que generalmente acelera el funcionamiento del sitio. Como, por lo general, las imágenes y otros formatos binarios conforman el grueso de la carga útil de entrega de la página Web, los desarrolladores Web han venido recurriendo a la reducción del color en imágenes .GIF o a ajustes en ficheros JPEG como medios de reducir el tamaño de los archivos. BoxTop Software constituye una de las mejores herramientas de este tipo.
En cualquier caso, si es precisa la entrega de ficheros de imágenes de gran v

Contenidos recomendados...

Comentar
Para comentar, es necesario iniciar sesión
Se muestran 0 comentarios
X

Uso de cookies

Esta web utiliza cookies técnicas, de personalización y análisis, propias y de terceros, para facilitarle la navegación de forma anónima y analizar estadísticas del uso de la web. Consideramos que si continúa navegando, acepta su uso. Obtener más información