- Actualizar a Drupal 11 con PHP 8.3 puede mejorar los tiempos de carga de página en 15-20% y reducir el uso de memoria en 10-12%, dependiendo de la configuración, con ganancias notables en eficiencia.
- Habilitar el caché avanzado como Redis en entornos de producción, como en Pantheon, puede reducir las cargas de la base de datos hasta en 40%, aunque los resultados varían según la complejidad del sitio y los patrones de tráfico.
- El desarrollo local con Mutagen de DDEV en macOS parece probable que acelere la E/S de archivos en 2-3x o más, ayudando a los principiantes a iterar más rápido sin riesgos de producción.
- Herramientas como Lighthouse y WebPageTest destacan mejoras potenciales en métricas como TTFB mediante ajustes de caché, con benchmarks que indican ganancias de 18-30%, aunque pueden diferir según el hardware.
- Escalar con el CDN y Varnish de Pantheon podría manejar picos de tráfico de manera efectiva para todos los usuarios, potencialmente reduciendo la latencia global mientras se reconoce que el sobre-caché podría llevar a contenido obsoleto si no se gestiona con cuidado.
¿Por qué optimizar Drupal 11?
La velocidad del sitio web influye en la satisfacción del usuario y en las posiciones de SEO, con evidencia que indica que incluso pequeños retrasos impactan las conversiones. El requisito de Drupal 11 para PHP 8.3 introduce compilación JIT que puede mejorar las velocidades de consulta, haciendo que sea un buen punto de partida para novatos familiarizados con Composer y Drush. Esta guía contrasta ajustes prácticos locales usando DDEV (como cambios rápidos de PHP) con herramientas automatizadas de producción de Pantheon (como Redis para picos). Para principiantes en macOS o Linux, comiencen localmente para probar de forma segura antes de desplegar. Vea https://www.drupal.org/docs/develop/automated-testing/performance-tests para conceptos básicos de pruebas de rendimiento del núcleo.
Bases locales vs. de producción
En configuraciones locales de DDEV, enfóquese en Mutagen para sincronizaciones más rápidas y complementos como Redis para imitar el caché de producción — espere iteraciones 15-20% más rápidas. En Pantheon, aproveche Varnish y CDN global para escalar, donde el caché optimizado podría reducir TTFB en 18%. Monitoree con Lighthouse para ambos, apuntando a puntuaciones de 90+. Principiantes: Use ddev config --php-version=8.3 localmente para coincidir con los valores predeterminados de Pantheon.
Herramientas y módulos clave
Herramientas como Lighthouse (vía Chrome DevTools) y WebPageTest proporcionan insights accionables, mientras que módulos como Redis y Pantheon Advanced Page Cache manejan la optimización de backend/frontend. Para logs, dblog o Raven ofrecen monitoreo sin abrumar a nuevos desarrolladores — comience mínimo para evitar 5-10% de sobrecarga de memoria.
El rendimiento del sitio web ya no es opcional. Google y otros motores de búsqueda ahora factorizan Core Web Vitals (métricas de velocidad como LCP, FID, TTFB) en el ranking de búsqueda. Eso significa que los dueños de sitios en Drupal deben ajustar el rendimiento para mejorar SEO y experiencia de usuario. Incluso un retraso de un segundo puede causar caídas significativas en conversiones. La buena noticia es que Drupal 11 fue construido con rendimiento en mente. Requiere PHP 8.3, cuyas mejoras en JIT y memoria pueden reducir cargas de página hasta en 15–20% y cortar TTFB en ~18% en sitios reales. Un caso vio hasta un 50% de aumento en velocidad de Drupal en PHP 8.3. La velocidad más rápida se paga: un estudio de caso encontró que mejores Core Web Vitals impulsaron un ~12% de salto en tráfico orgánico.
En esta guía amigable para principiantes, recorreremos estrategias locales vs. de producción para Drupal 11. Primero, optimizamos localmente en su máquina de desarrollo usando DDEV (una configuración LAMP local basada en Docker). Por ejemplo, en macOS puede habilitar el file-sync Mutagen de DDEV para duplicar su velocidad de E/S. Cubriremos ajustes rápidos (versiones de PHP, Xdebug apagado, OPCache) y complementos útiles (Redis para caché local). Luego pasaremos a Pantheon Production: un host gestionado de Drupal con CDN global integrado y Varnish. Configuraremos el object cache Redis de Pantheon y el módulo Pantheon Advanced Page Cache para empujar caché al CDN. Finalmente, explicaremos las capas de caché de Drupal (page cache, Views cache, BigPipe), monitoreo (New Relic, watchdog) y herramientas (Lighthouse, WebPageTest) con ejemplos prácticos.
A lo largo, usamos benchmarks de 2025 y referencias oficiales. Por instancia, actualizar a PHP 8.3 en Drupal 11 a menudo reduce tiempos de carga en 15-20%. Pequeños cambios de caché (como elevar max-age) pueden recortar ~18% de Time-to-First-Byte. Y formatos modernos (imágenes AVIF) pueden reducir payloads de imágenes en ~30-50%. Al final, incluso si es nuevo en el ajuste de rendimiento, tendrá pasos concretos para acelerar su sitio desde desarrollo local hasta producción en vivo — impulsando tanto velocidad como ranking SEO.
Desarrollo local con DDEV: Iteraciones más rápidas de Drupal 11
Desarrolladores en macOS o Windows a menudo ven E/S de archivos lenta en Docker. Como notan los docs de DDEV, “en macOS y Windows… el rendimiento del sistema de archivos montado puede ser cuellos de botella significativos”. En la práctica, una instalación local de Drupal podría tomar minutos en construirse si no se optimiza. La corrección clave en hosts no-Linux es Mutagen. El motor Mutagen de DDEV (habilitado por defecto en Mac/Windows) desacopla la sincronización host/contenedor y puede reducir tiempos de construcción local de Drupal a la mitad.
En macOS, DDEV con Mutagen (vs Docker simple o NFS) puede acelerar drásticamente tareas de Drupal. En una prueba, agregar Mutagen hizo una instalación web de Drupal 9 dos veces más rápida en macOS. Otro estudio mostró instalaciones D10 cayendo a ~30s con Mutagen habilitado. Para usarlo, ejecute:
mkdir my-drupal-site
cd my-drupal-site
ddev config --project-type=drupal --docroot=web --php-version=8.3
ddev start
ddev composer create drupal/recommended-project
ddev composer require drush/drush
ddev drush site:install -yMutagen está activado por defecto después de ddev start en Mac/Windows. Si no, puede habilitarlo con ddev config --performance-mode=mutagen && ddev restart. Esto permite que cambios de archivos se sincronicen “bastante pronto” en el contenedor. Solo recuerde, el primer ddev start puede hacer una sincronización completa (5–60s en un sitio grande), pero ediciones de archivos subsiguientes se propagan casi instantáneamente. Si rompe la sincronización, ejecute ddev mutagen reset.
En una caja de desarrollo Linux, la E/S nativa de Docker suele ser lo suficientemente rápida, así que puede deshabilitar Mutagen si lo desea. Pero en Macs, el aumento de velocidad es enorme. (Pruebas de Randy Fay muestran que incluso sin Mutagen, usar el nuevo mount VirtioFS de Docker a menudo es más rápido que el viejo NFS.)
Ajustes rápidos de PHP & DB
Para Drupal 11, establezca la versión de PHP y el entorno para que coincida lo más posible con producción. En Pantheon, PHP 8.3 es compatible, así que úselo localmente (--php-version=8.3). Habilite OPcache y considere ajustes de realpath_cache en su php.ini para autoloading más rápido. Deshabilite Xdebug durante desarrollo normal para ahorrar 10-20% de tiempo de procesamiento. En DDEV puede alternar Xdebug on/off con ddev xdebug on o vía la config del proyecto.
MySQL local también puede ajustarse: habilite buffering InnoDB (innodb_buffer_pool_size), aumente query cache (si se usa), o use el motor más rápido de MariaDB si se siente cómodo. Sin embargo, incluso pasos simples pagan dividendos: el MySQL predeterminado de DDEV suele ser bueno para la mayoría de sitios de desarrollo. Las mayores ganancias locales vienen del caché: DDEV ofrece complementos como Redis. Instale el servicio Redis y el módulo de Drupal en su proyecto local para prototipar comportamiento de caché:
ddev add-on get ddev/ddev-redis
ddev restart
ddev composer require drupal/redis
ddev drush en redis -yEsto inicia una instancia de Redis en DDEV (con datos persistidos por defecto). El complemento agrega automáticamente configuración a sites/default/settings.php para enrutar el object cache de Drupal a través de Redis (simulando producción). Esto puede reducir drásticamente llamadas a la base de datos. (El TTL de Redis de Pantheon es un año por defecto, pero sus docs sugieren TTL de 30 días para mejor práctica.)
Frontend y caché local
En su sitio local de DDEV, también puede probar optimizaciones de frontend. En /admin/config/development/performance, habilite agregación y compresión de CSS/JS (incluso en desarrollo, esto acelera tiempos de carga reduciendo solicitudes HTTP). Use el nombre de host de DDEV (ej. https://mysite.ddev.site) en Chrome o ejecute ddev launch para abrir el sitio localmente. Herramientas como Lighthouse de Chrome pueden auditar rendimiento incluso en endpoints locales.
Para imágenes, experimente con formatos de nueva generación (WebP/AVIF) localmente. Drupal 11.2+ soporta AVIF de fábrica vía Image Styles, si PHP GD tiene libavif instalado. Una vez habilitado, convertir imágenes a AVIF puede reducir tamaños de archivo en ~30–50% sobre JPEG, dando un boost inmediato de velocidad. (Solo recuerde mantener fallbacks JPEG/WebP para navegadores sin soporte AVIF.)
Finalmente, use herramientas de desarrollo como Drupal Web Profiler y Devel para registro de consultas. Por ejemplo, la barra de herramientas Web Profiler puede mostrar tiempo de carga de página, número de consultas a base de datos y estadísticas de cache hit para cada solicitud. Esto le permite probar iterativamente un cambio y ver su impacto en tiempo de carga directamente en el navegador.
Escalado de producción en Pantheon: Caché enterprise y CDN
Pantheon es un host gestionado de Drupal que superpone caché Varnish y un CDN global sobre su sitio. Por defecto, todas las solicitudes de página anónimas llegan a un pool de servidores Varnish. Si una página está en caché, Varnish la retorna instantáneamente. Si no, la solicitud cae de vuelta a Drupal, y la respuesta se cachea en el camino de regreso. Esto significa que sus visitantes suelen ver entrega de HTML sub-segundo sin que Drupal siquiera corra. Los docs de Pantheon confirman: “cada solicitud HTTP pasa por… Varnish… Si una página se encuentra en el caché, se retornará inmediatamente al navegador”.
Pantheon también mantiene un CDN Global (caché Edge) a través de 40+ POPs mundiales. Todos los assets estáticos (CSS, JS, imágenes) e incluso snapshots HTML completos se replican globalmente. Cuando alguien cercano solicita la página, se sirve del POP más cercano. Esto reduce drásticamente el tiempo de ida y vuelta: Pantheon muestra first paints ocurriendo en “sub-segundos” gracias al caché edge. (No tiene que configurar esto; Pantheon gestiona el CDN automáticamente.)
Para aprovechar esto, configure las configuraciones de page cache de Drupal correctamente. Bajo /admin/config/development/performance, establezca “Cache pages for anonymous users” en ON. En Pantheon, el max-age de page cache predeterminado es 15 minutos. Puede elevarlo a 1 hora o más si su contenido es bastante estático. Después de cambiarlo, “Clear all caches” para activar el purge de Varnish de Pantheon. Pantheon nota que después del primer clear de caché, este valor se bloquea, así que asegúrese de establecerlo en un sitio nuevo. También habilite BigPipe (módulo Core de Drupal) para que el contenido above-the-fold pueda transmitirse rápidamente a usuarios. Habilite compresión HTML si no está ya (Pantheon ya gzips páginas, así que desmarque cualquier configuración de compresión redundante), y mantenga agregación de CSS/JS encendida en el entorno Live. La agregación es crítica en producción para tiempos de render más rápidos.
Redis y caché backend
Para contenido dinámico (usuarios logueados, consultas Views, cargas de entidades), use un object cache. Pantheon ofrece Redis de fábrica. Lo habilita vía Terminus (CLI de Pantheon):
terminus connection:set $SITE.dev git
terminus redis:enable $SITE
composer require drupal/redisLuego habilite el módulo Redis en Drupal (drush en redis) y exporte config. Esto descarga los bins de caché de Drupal (excepto form cache) a Redis, reduciendo drásticamente lecturas de base de datos. Los docs de Pantheon dicen que Redis se proporciona “para el mejor rendimiento y escala posible”, notando que es “caché de objetos basado en key-value” que alivia cargas pesadas de objetos de la DB. Por defecto, Redis de Pantheon mantiene un TTL de 1 año en entradas de caché, pero su ejemplo de config recomendado lo establece en 30 días ($settings['redis.settings']['perm_ttl'] = 2630000; // 30 days). TTL más largo significa vistas repetidas más rápidas pero sea consciente de datos obsoletos. (Use cache tags y el sistema de purge de Drupal para limpiar cachés específicos en actualizaciones.)
Otra capa en Pantheon es el módulo Pantheon Advanced Page Cache. Este módulo contrib de Drupal puentea los metadatos de caché de Drupal (tags) con el CDN Global. Simplemente instálelo (composer require drupal/pantheon_advanced_page_cache) y habilítelo. Ahora cuando el contenido cambia, Drupal le dice al CDN exactamente qué páginas necesitan purga. Esto asegura que el contenido se mantenga fresco sin flush manual de Varnish.
CDN y configuraciones de assets
Aunque el CDN de Pantheon maneja assets estáticos globalmente, aún debe descargar media pesada y considerar CDNs adicionales para casos edge. Pantheon mismo establece automáticamente expiry largo (a menudo 1 año) en assets inmutables (CSS/JS, imágenes) en sitios live. Verifique /admin/config/media/image-styles para habilitar lazy-loading y estilos de imagen apropiados (ej. imagen hero grande vs. thumbnail). También puede integrar el CDN de Pantheon con servicios existentes: por ejemplo, Pantheon soporta módulos S3FS y CDN para descargar archivos a AWS S3 + CloudFront si lo desea (esto es avanzado).
En resumen, Pantheon maneja la mayoría del caché si sigue mejores prácticas. Como explican los docs de Pantheon: “Pantheon automáticamente da la mejor práctica de caché de página frontend vía Varnish. Y para todas las aplicaciones con llamadas frecuentes a base de datos, Pantheon ofrece Redis como opción lista para usar”. Juntos estos reducen la carga de infraestructura – Drupal solo corre PHP cuando es necesario, y sirve páginas o assets cacheados directamente de memoria o ubicaciones edge.
Capas de caché de Drupal, logs y monitoreo
Más allá del hosting, Drupal mismo tiene muchas capas de caché. Entenderlas ayuda a ajustar rendimiento. Primero, en el nivel de página, Drupal Core tiene dos cachés principales: el Page Cache (HTML de página completa para usuarios anónimos) y Dynamic Page Cache (para no-anónimos, cachea partes del pipeline de render). Siempre habilite “Cache pages for anonymous users” y establezca una expiración sensata. Use la Render Cache API (cache tags, contexts, max-age). Por ejemplo, habilitar caché para resultados de Views y entidades puede reducir consultas a base de datos en 40–50%. Una serie de caché nota: “Use Redis o Memcache para cachear operaciones pesadas de datos… Cuanto más cachee, menos veces Drupal tiene que iniciar PHP y golpear la base de datos”. Eso se traduce en menos consultas DB, menos render PHP y páginas más rápidas.
Para views y displays de entidades, establezca el caché de Views integrado en cada View (ej. render resultados por X minutos, y cachee relaciones). Incluso un caché de view de 5 minutos puede reducir drásticamente carga en consultas complejas. Similarmente, habilite caché de plantillas Twig (en prod siempre está on) y deshabilite la opción “rebuild Twig templates” de themes en settings (solo use eso en dev).
Para forms y datos de sesión, sepa que Drupal usa una tabla cache_form separada para estados de form. Un cache_form inflado puede ralentizar su sitio. En producción puede truncarlo periódicamente si crece grande (Pantheon recomienda limitar su lifetime o limpiar manualmente entradas viejas vía drush sqlq "TRUNCATE cache_form" durante mantenimiento).
En el front-end, use todos sus trucos usuales: minify/agregue CSS y JS (agregación core de Drupal o módulos como AdvAgg para control más fino), defer JS no-crítico y optimice imágenes. Drupal 11 core soporta lazy-loading de imágenes por defecto, y puede agregar optimizadores de imágenes como ImageAPI Optimize para WebP/AVIF. Vimos antes que cambiar a AVIF puede reducir imágenes grandes en ~30–50%, dando un win inmediato de LCP.
Monitoreo y logs también son vitales. En Drupal, los logs (entradas “watchdog”) pueden revelar consultas lentas o errores. Configure el módulo Syslog para enviar errores al log del servidor, o use el módulo Database Logging (dblog) durante dev. Pero para monitoreo de producción en tiempo real, herramientas como New Relic son indispensables. El agente PHP de New Relic puede rastrear throughput, tiempo de respuesta, tiempo de base de datos e incluso mostrar SQL lento. Pantheon incluye New Relic en la mayoría de planes (y ofrece dashboards en el panel) – enciéndalo y busque páginas con consultas lentas o alto tiempo de ejecución PHP. Como mejor práctica: “Use herramientas como New Relic, Blackfire o Web Profiler de Drupal para identificar cuellos de botella”. Por ejemplo, corra un transaction trace de New Relic para ver qué función o consulta es la culpable en una página lenta.
Finalmente, use herramientas de prueba de rendimiento para validar ganancias de velocidad. Google Lighthouse (en Chrome DevTools o vía lighthouse-ci) puede puntuar su sitio en métricas como Largest Contentful Paint (LCP) o Total Blocking Time. El estudio de Kinematic Digital aconseja “auditar regularmente Core Web Vitals usando Lighthouse o PageSpeed Insights”. Corra Lighthouse en su URL de producción y vea el impacto real: un sitio Drupal 11 bien cacheado debería puntuar en los 90s en Performance. También puede usar WebPageTest.org para gráficos de waterfall más detallados y pruebas móviles simuladas. Para CLI o cheques automatizados, la herramienta Sitespeed.io o pruebas de rendimiento integradas de Drupal pueden script pruebas repetitivas a través de releases.
En resumen, use las configuraciones de caché propias de Drupal más las capas de Pantheon, y mantenga un ojo en logs/métricas. Una checklist concisa podría ser:
- Caché Backend: Habilite Page Cache, Dynamic Cache, BigPipe. Use Redis/Memcached si disponible. Configure cache tags/contexts de Drupal correctamente para que hits de caché parciales funcionen.
- Optimizaciones Frontend: Agregue/comprima CSS/JS, lazy-load imágenes, use WebP/AVIF y sirva assets desde un CDN (de Pantheon o externo).
- Logging & Monitoreo: Habilite dblog o syslog; integre New Relic/Blackfire. Escanee logs regularmente por 500s o SQL lento. Haga alertas en métricas clave (ej. conteos de consultas grandes).
- Herramientas de Rendimiento: Corra audits de Lighthouse y WebPageTest antes y después de cambios. Rastree Core Web Vitals (LCP, FID, CLS) y puntuaciones PageSpeed con el tiempo.
Siguiendo estos, “abraza el caché en cada nivel,” reduciendo carga en PHP y su base de datos, y entregando un sitio Drupal mucho más ágil para usuarios finales y crawlers de búsqueda por igual.
Conclusión
Optimizar Drupal 11 para velocidad es un viaje desde desarrollo local a producción. En su entorno DDEV, comience coincidiendo versiones de PHP (use PHP 8.3) y habilitando Mutagen para rendimiento de sincronización de archivos veloz. Complementos como Redis pueden simular object caching de producción. En la plataforma Pantheon, aproveche su capa integrada Varnish+CDN y encienda Redis y el módulo Advanced Page Cache. Estos mueven su contenido más cerca a usuarios y reducen la necesidad de que Drupal corra en cada solicitud. Mientras tanto, los cachés propios de Drupal (page, entity, Views) deben configurarse correctamente, y herramientas como Lighthouse y New Relic le guiarán a cuellos de botella.
Recuerde los números: actualizar a PHP 8.3 en Drupal 11 típicamente reduce tiempos de respuesta en 15–20%, y caché optimizado puede cortar TTFB ~18%. Pequeñas ganancias se suman. Por ejemplo, habilitar imágenes AVIF puede reducir inmediatamente peso de página en ~30–50%, y usar Redis descarga un gran chunk de trabajo de base de datos. En práctica, sitios que siguieron estas prácticas a menudo ven métricas core dispararse e incluso duplicar el rendimiento de una base Drupal 10.
Como desarrollador novato, tómelo paso a paso: pruebe un ajuste a la vez y mida. Por instancia, habilite page cache y corra Lighthouse de nuevo para ver la ganancia de velocidad. Luego instale Redis y vea su conteo de consultas a base de datos caer. Use control de versiones (Git) para rastrear estos cambios. Lo más importante, pruebe sus mejoras: reportes de Lighthouse o WebPageTest pueden guardarse y compararse con el tiempo. Iterando localmente en DDEV (corriendo ddev start && lighthouse) y luego empujando a Pantheon, puede asegurar que su sitio Drupal 11 no solo funcione, sino que exceda en 2025.
Con estas herramientas y tácticas, convertirá su tinkering local en prowess de producción – entregando un sitio Drupal 11 ultrarrápido que tanto sus usuarios como Google amarán.
Citaciones clave:
- https://kinematic.digital/index.php/2025/09/11/drupal-11-php/
- https://kinsta.com/blog/php-benchmarks/
- https://bigframe.digital/boosting-speed-efficiency-measuring-php-8-3-performance/
- https://www.drupal.org/docs/develop/automated-testing/performance-tests
- https://ddev.readthedocs.io/en/stable/users/install/performance/
- https://ddev.com/blog/ddev-docker-desktop-and-colima-benchmarking-updated-dec-2022/
- https://cweagans.net/2020/04/fast-local-development-on-macos-with-ddev-and-mutagen/
- https://dev.to/nexgismo_324a5e113ad7c573/avif-support-in-drupal-11-a-small-tweak-big-performance-win-4fdm
- https://www.thedroptimes.com/49686/how-enable-avif-image-support-in-drupal-112-faster-page-loads
- https://www.valuebound.com/resources/blog/ultimate-guide-drupal-cost-optimization-aws
- https://github.com/ddev/ddev-redis
- https://docs.pantheon.io/drupal-cache
- https://docs.pantheon.io/cache
- https://www.reddit.com/r/drupal/comments/1955hl9/php_benchmarks_realworld_speed_tests_for_versions/