Varnish como una Manera Fácil de Aumentar la Velocidad de la Web con Resultados Increíbles

El otro día, durante una daily stand-up, estábamos discutiendo cómo mejorar la velocidad de nuestro sitio web principal. La mayoría de las soluciones propuestas estaban relacionadas con el caching a nivel de software. Mi propuesta fue un poco diferente, ya que en el pasado, cuando trabajaba en la infraestructura de Magento, descubrí Varnish.
Varnish es un software de caché que puede ser implementado como un proxy inverso. Todas las requests son recibidas primero por Varnish, y luego, basado en su archivo de configuración, la respuesta puede ser cacheada o permitir que la solicitud llegue al servidor de origen. La primera vez que Varnish inicia, cuando recibe una request, valida que no haya una copia cacheada de ella. Si no hay contenido cacheado, lo considerará un miss y pasará la request al servidor de origen. Si el archivo o contenido esta configurado para ser cacheado, guardará el contenido en memoria, y la próxima vez que la misma request llegue a tu servidor, regresara el contenido inmediatamente.
¿Qué hace a Varnish diferente? Usualmente, cuando se solicita un archivo a tu sitio web, el servidor tendrá que buscar en el disco el archivo y luego reenviarlo al usuario. Varnish, en cambio, recibe la request e inmediatamente la regresa en base a lo que tienen en memoria. Acceder a la RAM es menos demandante que acceder al disco.
Al principio, solo estábamos cacheando archivos JS, CSS e imágenes. Esto se debe a que había algunos endpoints que proporcionaban información actualizada, y es fácil agregarlo a los archivos de configuración. El problema era que había demasiados y no queríamos correr el riesgo en ese momento. Aunque solo cacheamos archivos, el tiempo de carga del sitio web se redujo en más de 1 segundo.
Estas fueron las pruebas antes de implementar Varnish:
Esta es la velocidad promedio de la página después de la implementación.
Recibe contenido de calidad suscribiendote al newsletter, Cero Spam!!