Boost
Boost proporciona caché de páginas estáticas para Drupal, permitiendo mejoras significativas de rendimiento para sitios que reciben principalmente tráfico anónimo.
boost
Overview
Boost es un módulo de caché de páginas estáticas que mejora drásticamente el rendimiento y la escalabilidad de sitios Drupal con alto tráfico anónimo. Almacena páginas HTML completas como archivos estáticos en el directorio de archivos públicos, permitiendo que los servidores web (Nginx o Apache) sirvan estos archivos directamente sin ejecutar PHP.
El módulo funciona interceptando respuestas para usuarios anónimos y guardando el HTML renderizado en el sistema de archivos. Cuando se solicita la misma página nuevamente, el archivo en caché puede ser servido directamente por el servidor web, evitando Drupal por completo. Esto puede resultar en mejoras de rendimiento de ~8 solicitudes/segundo sin caché a casi 20,000 solicitudes/segundo con la configuración adecuada del servidor web.
Boost incluye múltiples estrategias de generación de caché (calentamiento de caché) incluyendo generación de rutas de entidades, rastreo de XML sitemap y generación de alias de ruta. La purga de caché puede realizarse manualmente, vía cron basándose en la edad máxima de caché del sistema, o mediante comandos Drush.
Features
- Caché de páginas HTML estáticas para usuarios anónimos con archivos almacenados en el directorio public://boost/
- Generación automática de caché en la primera visita de página por usuarios anónimos
- Múltiples estrategias de calentamiento de caché: rutas de entidades, rastreo de XML sitemap y todos los alias de ruta
- Purga automática de caché vía cron basada en la configuración de edad máxima de caché del sistema
- Configuraciones de cacheabilidad basadas en rutas para incluir o excluir rutas específicas del almacenamiento en caché
- Ejecución opcional de comandos shell (find/rm) para purga de caché extremadamente rápida
- Encabezado de respuesta X-Boost-Cache indicando el estado de caché (partial vs full)
- Procesamiento por lotes con interfaz de progreso para operaciones de generación y purga de caché
- Integración completa con comandos Drush para gestión de caché vía CLI
- Soporte para autenticación básica durante el rastreo de generación de caché
Use Cases
Sitios de noticias o contenido con alto tráfico
Boost es ideal para sitios de noticias, blogs o sitios con mucho contenido que reciben principalmente tráfico anónimo. Al almacenar en caché páginas HTML renderizadas, el sitio puede manejar dramáticamente más visitantes concurrentes sin aumentar los recursos del servidor. Con la configuración adecuada de Nginx, un sitio puede pasar de ~8 solicitudes/segundo a casi 20,000 solicitudes/segundo.
Entornos de hosting compartido
En hosting compartido donde no puede instalar Varnish u otros cachés de proxy inverso, Boost proporciona la mejor opción para mejorar el rendimiento. Los archivos HTML estáticos pueden ser servidos directamente por el servidor web, reduciendo la sobrecarga de ejecución de PHP.
Calentamiento programado de caché para SEO
Use comandos Drush en trabajos cron programados para pre-generar archivos de caché antes de los picos de tráfico. Al rastrear XML sitemaps, se asegura de que todas las páginas importantes estén en caché y listas para visitantes y rastreadores de motores de búsqueda.
Catálogos de productos de comercio electrónico
Para sitios de comercio electrónico con navegación anónima de catálogos de productos, Boost puede almacenar en caché páginas de listado y detalle de productos, mejorando el rendimiento de navegación mientras que las páginas autenticadas de carrito y pago permanecen dinámicas.
Tips
- Para un rendimiento óptimo, configure Nginx para servir archivos de caché estáticos directamente usando la directiva try_files apuntando al directorio de caché de boost
- Use la estrategia de rastreo de XML sitemap para sitios grandes para asegurar que todas las páginas importantes estén pre-almacenadas en caché
- Habilite la opción exec para purga de caché extremadamente rápida en servidores donde los comandos shell de PHP están permitidos
- Configure un trabajo cron para ejecutar los comandos boost:purge-max-age y boost:generate para mantenimiento automatizado de caché
- Considere usar diferentes estrategias de generación de caché para diferentes tipos de contenido - rutas de entidades para nodos, XML sitemaps para cobertura completa del sitio
- Los archivos de caché se almacenan en public://boost/ por defecto, con la extensión de archivo .html
- Siempre verifique que Boost esté funcionando comprobando el encabezado de respuesta X-Boost-Cache en las herramientas de desarrollador del navegador
Technical Details
Admin Pages 1
/admin/config/development/performance/boost
Configura los ajustes de caché de páginas estáticas de Boost, gestiona las estrategias de generación de caché y realiza operaciones de gestión de caché como contar, purgar y generar archivos de caché.
Permisos 1
Hooks 2
hook_cron
Implementa la purga automática de caché basada en la edad máxima de caché del sistema cuando la opción 'Purga de cron edad máxima' está habilitada en la configuración de Boost.
hook_help
Proporciona texto de ayuda para el módulo Boost en la página de ayuda, explicando el propósito del módulo y los requisitos de instalación.
Drush Commands 6
drush boost:count-cache-files
Cuenta el número de archivos en caché en el directorio de caché de Boost.
drush boost:generate-entity-paths
Genera archivos de caché para rutas de entidades definidas en la configuración. Usa procesamiento por lotes con solicitudes HTTP para calentar la caché.
drush boost:generate-xmlsitemap-crawl
Genera archivos de caché rastreando los XML sitemaps definidos en la configuración. Analiza cada sitemap y solicita todas las URLs encontradas.
drush boost:generate-aliases-all
Genera archivos de caché para todos los alias de ruta en el sistema. No recomendado para sitios grandes.
drush boost:purge
Purga (elimina) todos los archivos de caché de Boost usando procesamiento por lotes.
drush boost:purge-max-age
Purga archivos de caché más antiguos que la configuración de edad máxima de caché del sistema. Útil para invalidación programada de caché.
Troubleshooting 4
El encabezado 'partial' significa que PHP sigue ejecutándose. Necesita configurar su servidor web (Nginx o Apache) para servir los archivos de caché estáticos directamente. Revise los ejemplos de configuración de Nginx o Apache en el archivo README.md del módulo.
Asegúrese de que está visitando páginas como usuario anónimo. Boost solo almacena en caché respuestas para usuarios anónimos. También verifique que la página no esté excluida por la configuración de cacheabilidad de rutas.
Los comandos Drush que generan archivos de caché requieren la opción --uri para hacer solicitudes HTTP. Use: drush boost:generate-entity-paths --uri=https://susitio.com
Asegúrese de que cron esté ejecutándose correctamente y que la opción 'Purga de cron edad máxima' esté habilitada en la configuración de Boost. También verifique que la página de Rendimiento del sistema tenga una edad máxima de caché mayor que 0 (sin caché).
Security Notes 5
- Boost solo almacena en caché contenido para usuarios anónimos - el contenido de usuarios autenticados nunca se almacena en caché
- El módulo respeta la configuración de cacheabilidad de páginas para excluir rutas sensibles como /user/* del almacenamiento en caché
- Cuando use el modo de ejecución shell, asegúrese de que el directorio de caché de boost tenga los permisos adecuados
- Los archivos HTML en caché se almacenan en el directorio de archivos públicos - asegúrese de que su servidor web esté configurado para prevenir el listado de directorios
- Las credenciales de autenticación básica para la generación de caché se almacenan en la configuración - use prácticas adecuadas de gestión de configuración