LiteSpeed Cache: ¡Como borrar la cache!

La velocidad de carga de las páginas web es un factor crucial para mejorar la experiencia del usuario y optimizar el rendimiento del sitio. LiteSpeed Cache (LSCache), desarrollado por LiteSpeed Technologies, es una herramienta que permite almacenar en caché las páginas de un sitio, reduciendo el tiempo de carga y ahorrando recursos del servidor. A continuación, se explican los conceptos básicos de esta tecnología, así como las principales estrategias de almacenamiento en caché que emplea.

Almacenamiento en caché: tipos y beneficios

LiteSpeed Cache permite almacenar las páginas web en caché pública, privada o no almacenarlas en absoluto, según las características de cada página. Esta clasificación ayuda a administrar mejor el rendimiento y el almacenamiento.

  1. Caché pública
    Las páginas que pueden ser servidas de manera idéntica a todos los usuarios son candidatas para el almacenamiento en caché pública. Un ejemplo clásico son los archivos de blog sin contenido personalizado. Al no requerir personalización, la caché pública permite cargar la misma versión de la página para todos los usuarios sin ocupar mucho espacio en el servidor. Este tipo de caché es ideal para sitios que no requieren inicios de sesión ni segmentación basada en la IP del usuario.
  2. Caché privada
    Las páginas con contenido personalizado, como los carritos de compra, se almacenan en caché privada. Al ser únicas para cada usuario, requieren un almacenamiento específico para cada versión. Aunque este método ofrece un alto nivel de personalización, también consume más espacio en el servidor, ya que debe guardar una copia de la página para cada visitante.
  3. ESI (Edge Side Includes)
    La tecnología ESI permite combinar contenidos públicos y privados en una misma página, lo cual es útil para sitios con elementos personalizados, como widgets de carrito de compras. LSCache utiliza la caché pública para la mayor parte de la página, reservando espacio en caché privada solo para los elementos que necesitan personalización. Este método ofrece un equilibrio entre eficiencia de almacenamiento y personalización.

Gestión y almacenamiento de la caché

LiteSpeed Cache facilita la gestión del almacenamiento en caché mediante la gestión de objetos en caché y el SHM (Cache Manager Shared Memory), una memoria compartida donde se almacenan detalles sobre cada objeto en caché. Esta memoria puede ubicarse en un disco RAM para acelerar el acceso, aunque se perderá su contenido en caso de reinicio físico del servidor. Además, LSCache emplea el método LRU (Least Recently Used) para eliminar los objetos en caché menos recientes, garantizando que el almacenamiento se mantenga a un tamaño manejable sin afectar el rendimiento.

Purga de la caché

LSCache realiza automáticamente un proceso de limpieza, eliminando objetos en caché que hayan superado su tiempo de vida (TTL). En caso de que algunos objetos no sean eliminados en este proceso, LiteSpeed recomienda la configuración de un trabajo cron que elimine archivos antiguos o específicos en intervalos regulares. También ofrece la opción de purgar la caché de forma manual o mediante el uso de un comando curl para borrar cachés de URLs específicas.

Configuración de trabajos cron para borrar la caché

LiteSpeed Cache permite configurar trabajos cron para gestionar y eliminar archivos en caché que han superado su tiempo de vida (TTL). Esto es especialmente útil en entornos de hosting compartido o en servidores donde la caché no se elimina automáticamente.

  1. Cron para eliminar archivos en caché antiguos
    Este trabajo cron elimina archivos en caché que tienen más de 8 minutos de antigüedad, lo cual es útil si has configurado un TTL corto para tu sitio (por ejemplo, 2 minutos).
    */10 * * * * root find /ruta/a/tu/cache/ -type f -mmin +8 -delete 2>/dev/null
    Este cron se ejecuta cada 10 minutos y elimina los archivos en caché que tienen más de 8 minutos. Ajusta el tiempo según el TTL que hayas establecido para tu sitio.
  2. Cron para limpiar el almacenamiento en caché de grandes directorios
    Este cron es útil en servidores con múltiples sitios o en entornos de hosting compartido. Verifica si la carpeta de caché de cada sitio supera un tamaño específico (por ejemplo, 30 GB) y elimina archivos en caché que tengan más de un día de antigüedad.
    0 0 * * * LARGE_LSDIR="$(du --threshold=30G -sh /home/*/lscache/ | cut -f2-)"; for ls_path in $LARGE_LSDIR; do echo "Limpiando $ls_path"; find $ls_path -type f -mtime +1 -exec rm -f {} \;; done
    Este cron se ejecuta una vez al día y revisa cada directorio en busca de archivos en caché que sean mayores a 30 GB y más antiguos que un día (1440 minutos).

Uso de scripts de LiteSpeed para limpiar la caché

LiteSpeed Web Server incluye un script para limpiar la caché de manera manual, llamado cleancache.sh. Este script borra todos los archivos en caché que tengan más de 24 horas de antigüedad.

Para ejecutar el script, utiliza el siguiente comando (ajustando la ruta del directorio de caché):

/usr/local/lsws/admin/misc/cleancache.sh /ruta/a/tu/cache/

Nota: Asegúrate de que la TTL de tu caché sea menor de 24 horas, ya que este script eliminará archivos que aún podrían ser válidos si tienen una TTL mayor.

Comando curl para purgar la caché

LiteSpeed permite purgar la caché de una página específica utilizando un comando curl. Esto es especialmente útil cuando necesitas vaciar la caché de una URL en particular, sin afectar a todo el sitio.

  1. Purgar una URL específica
    Agrega el método PURGE a las reglas de reescritura en LiteSpeed para habilitar el uso del comando curl. Por ejemplo: RewriteCond %{REQUEST_METHOD} ^HEAD|GET|PURGE$
  2. Ejecutar el comando curl
    Ejecuta el siguiente comando curl para purgar la caché de una URL específica: curl -i -X PURGE http://example.com/ruta/a/tu/pagina
    Importante: Asegúrate de incluir la barra final / si estás purgando la página principal (index.php) del sitio. Sin esta barra, el comando no funcionará correctamente.

Purga de caché por URL con el script purge_cache_by_url

LiteSpeed incluye un script adicional para purgar la caché de una URL específica llamado purge_cache_by_url. Puedes utilizar este script cuando desees eliminar la caché de una URL concreta sin afectar a otros archivos en caché.

  1. Ejemplo de uso para refrescar una URL específica: /usr/local/lsws/admin/misc/purge_cache_by_url -r http://example.com/ruta/a/tu/pagina
  2. Ejemplo de uso para purgar una URL específica: /usr/local/lsws/admin/misc/purge_cache_by_url -p http://example.com/ruta/a/tu/pagina
    Nota: No uses comodines (*) en la URL, ya que este script requiere una URL específica.

Ejemplo de limpieza de toda la caché con un comando del sistema operativo

Si necesitas eliminar todos los archivos en caché rápidamente, puedes utilizar un comando de sistema para borrar el contenido de la carpeta de caché. Ten en cuenta que este método eliminará toda la caché sin tener en cuenta el TTL ni el uso de cada archivo.

rm -rf /ruta/del/directorio/de/cache/*

Precaución: Este comando eliminará todos los archivos en la carpeta de caché. Asegúrate de ejecutar este comando con cuidado.

Recomendaciones para una implementación eficaz

Para facilitar la configuración, LiteSpeed recomienda el uso de plugins de LSCache para aplicaciones web que ya vienen con reglas específicas de almacenamiento en caché. En casos donde no hay un plugin disponible, los administradores pueden configurar manualmente el almacenamiento en caché mediante reglas de reescritura.

Además, LSCache permite ajustar el almacenamiento en caché según las necesidades de cada sitio. En algunos casos, como páginas que generan contenido aleatorio o con scripts personalizados, LiteSpeed recomienda desactivar el caché de forma global para evitar problemas de funcionalidad.

Conclusión

LiteSpeed Cache es una solución poderosa para optimizar el rendimiento web mediante un uso inteligente del almacenamiento en caché. Al utilizar cachés públicas, privadas y ESI, LSCache se adapta a las diferentes necesidades de personalización de cada sitio. La gestión automatizada y las opciones de purga de caché permiten mantener un entorno eficiente, ayudando a los administradores a reducir la carga del servidor y mejorar la experiencia de los usuarios.

Suscríbete al boletín SysAdmin

Este es tu recurso para las últimas noticias y consejos sobre administración de sistemas, Linux, Windows, cloud computing, seguridad de la nube, etc. Lo enviamos 2 días a la semana.

¡Apúntate a nuestro newsletter!


– patrocinadores –

Noticias destacadas

– patrocinadores –

¡SUSCRÍBETE AL BOLETÍN
DE LOS SYSADMINS!

Scroll al inicio
×