Velocidad y rendimiento pueden ser la medicina de cualquier website interesado en imponerse en la Web y en su sector. Bueno, lo es. Pero esta medicina necesita diferentes tipos de componentes, o diferentes ingredientes, que naturalmente no podré abordarlos a todos en este post.

No hay dudas de que lo que diferenció a Facebook, en relación a los otros portales del género fue la velocidad de ejecución de sus acciones, o por lo menos la percepción que el usuario tenía después de clicar. Hoy la red tiene muchos más usuarios que entonces. Personas acostumbradas a comportamientos automáticos y mínimamente estables.

Es cierto que es importante tener un diseño atractivo, aquella web chula, y coherente  en el contenido que se está promocionando, pero considero primordial invertir tiempo en mejorar el rendimiento del site.

Sin querer entrar en detalles, me parece importante, ¿ya he dicho importante antes?, que se conozca  la arquitectura de la plataforma que estamos desarrollando y este conocimiento nos permitirá agilizar el proceso de mejora del rendimiento.

Pagespeed, Yslow

Optimizar es importante y Pagespeed, Yslow u otras herramientas parecidas pueden ayudar en este proceso, pues te dan sugerencias concretas de cómo hacer tu página web más rápida, analizando la estructura de la misma, el tamaño del CSS, del JS, imágenes a optimizar, o comprimir, etc.

Minimizar, agregar, comprimir, optimizar

No es posible optimizar sin tener en cuenta la compresión a través de gzip, por ejemplo. Hay otras formas. Esto puede reducir significativamente el tamaño de los ficheros enviados y permite que el tiempo de carga de ficheros HTML,CSS y JavaScript sea menor.  La mayoría de los navegadores modernos soporta la compresión de estos tipos ficheros.

Una cosa es saber lo que está mal, otra es como solucionarlo. En mi experiencia, he utilizado diferentes tipos de CMS o frameworks, sobre todo en plataformas PHP, me resultó importante utilizar los siguientes ingredientes:

Caché

Importante porque me permitió almacenar consultas a la base de datos, en tablas especiales. Esto permite tiempos de respuesta más rápidos. Sin embargo, el almacenamiento en caché crea copias de los datos que pueden no estar sincronizados con los datos originales. Desarrollar con caché habilitado puede ser realmente un dolor de cabeza. Hay diferentes formas de lidiar con este tema, pues los cachés pueden ser configurados para un tiempo mínimo de vida o reconstruidos “manualmente” si es necesario.

Para este proceso se pueden utilizar herramientas propias programadas y adaptadas para la plataforma y, o  también herramientas avanzadas. Este software adicional, digamos Memcached, APC o Varnish Cache ha demostrado tener un buen resultado a nivel de rendimiento y es utilizado en websites importantes y con gran volumen de tráfico, como Wikipedia o Youtube.  Pero que no siempre se puede utilizar, dependiendo del tipo de servidor que tenemos, si es compartido, dedicado o VPS.

Web monitoring

Pero no solo de caché vive el site. Las malas noticias corren rápido, como Bolt, pues antes que algún cliente descubra que “la web no va”, mejor que lo sepas tú, así que no es mala idea probar alguna de las diferentes herramientas existentes en la red, internetseer.com, por ejemplo,  utilizadas para asegurar que la funcionalidad del site es la esperada. Estas herramientas son interesantes porque permiten hacer un análisis más profundo de tu website, no solo a nivel técnico, pero también a nivel de contenidos, de SEO, y además te avisan cuando algo va menos bien, incluso cuando el servidor está inactivo.  Esta herramienta permite también controlar la escalabilidad y flexibilidad de nuestra plataforma, no vamos a realizar aquella campaña de marketing preparada con muchas ganas, miles de personas acceden a nuestra web y esta se cuelga.

Obviamente cada uno de estos ingredientes tiene su precio, pero como he dicho antes, es una inversión que diferenciará posteriormente tu página web, tu portal, o negocio de los demás.

Me he quedado en la punta del iceberg, pues hay otros ingredientes que se pueden agregar al listado, como por ejemplo los CDN para servir jQuery desde el Google y obviamente reducir el número de peticiones al servidor. Hablando en Google,  a Google le gusta páginas que cargan rápido. O sea, ¡la velocidad importa!