Tengo un compañero de trabajo que es un gran fan de WordPress. A menudo, discutimos sobre si Drupal o WordPress es mejor para esto o para lo otro. Y tengo que decir que en una cosa si que tiene toda la razón: el rendimiento de Drupal deja bastante que desear comparado con otros CMS.
En este artículo explico en profundidad cómo optimizar el rendimiento de Drupal haciendo bastantes modificaciones, pero como creo que todo debe empezar por investigar los módulos de Drupal disponibles, hoy solo quería compartir con vosotros algunos con los que notareis una gran mejoríaen el rendimiento de drupalal habilitarlos.
1.- Views Litepager
Los paginadores de Drupal tienen un pequeño problema: para construir el índice del paginador tiene que hacer varias consultas bastante lentas a la base de datos, lo que reduce significativamente el tiempo de respuesta de MySQL, que es el auténtico talón de Aquiles por el que Drupal sirve las páginas tan despacio.
Utilizando este módulo, habilitaremos un pequeño paginador anterior-siguiente. Yo he notado una reducción del tiempo de respuesta espectacular después de configurar el módulo.
2.- Image API optimize
El motor que utiliza Drupal para reducir el tamaño de los formatos de imagen tampoco es el mejor que exite. Habilitando este módulo podremos valernos de otros servicios de reducción de tamaño de imágenes como el archiconocido Smush.it
3.- Boost
Un módulo muy util si la mayoría de las visitas a tu página de Drupal son usuarios anónimos. Boost almacena una caché de las páginas para servirlas como HTML estático, mejorando muchísimo el rendimiento del servidor. Si hay páginas que varías dependiendo del usuario que las vea, podemos especificar en la propia interfaz del módulo qué paginas no queremos que sirva como HTML.
4.- CSS Embed Images
Para mí este módulo ha sido una de las mayores sorpresas que me he llevado desde que trabajo con Drupal. Normalmente, todas las imágenes que están en los CSS como fondos son cargadas como cualquier otra imagen, haciendo que el Waterfall de carga de archivos sea más largo de lo deseable y, sobre todo si nuestro servidor es tan malo como el mío, eso lastra muchísimo la velocidad de carga.
Este módulo convierte las imágenes de fondo en cadenas hexadecimales y las embebe en el propio archivo CSS. El CSS crece mucho de tamaño claro, pero a cambio estamos cargando un solo archivo grande en vez de decenas de archivos pequeños. Es un módulo muy original y sus resultados para mí son impresionantes.
5.- Aggregator Cache
Drupal 7 incorpora una opción de configuración para reducir y comprimir los archivos CSS y Javascript. Con este módulo, podreis servir estos archivos comprimidos desde la cache del servidor.
6.- CDN
Un módulo para habilitar de forma muy sencilla un Conten Delivery Network. Normalmente los servidores web disponen de un número limitado de descargas de archivos simultaneas para un mismo cliente, habilualmente cuatro. Si los cuatro huecos están ocupados, el resto de archivos deben esperar. Con un DCN podemos configurar varios subdominios para que, cuando uno este dobrecargado, nuestra página en Drupal busque el el siguiente dominio y sirva los archivos desde ahí.
Este módulo es realente simple de utilizar y ofrece unos resultados muy buenos. Solo necesitais un par de subdominios apuntando a la carpeta raíz de vuestra página web y vereis como mejora el rendimiento de Drupal
Si os ha interesado y os decidís a probar algunos de estos módulos, no os perdáis el artículo de la semana que viene en el que hablaré de como optimizar aún más el rendimiento de Drupal.
El primer módulo al que te refieres creo que es Views lite pager
Muy buena la lista :)
Efectivamente, se me habia escapado una «t» n_n. Gracias por el comentario!
Daniel gracias por tan valiosa informacion me web a mejorado muchisimo gracias a tus consejos, quiero pedirte una ayuda respecto a configurar el CDN, no entiendo lo referente a «solo necesitas 2 subdominios a puntando a la carpeta raiz de tu web» como se haces eso? Por favor ayudame con eso, muchas gracias, k sigan los exitos
Hola Zac, gracias por tu comentario.
Un CDN es un sistema por el cual los ficheros de una web se cargan desde varios subdominios al mismo tiempo. Normalmente el número de conexiones simultáneas a un dominio desde una petición web está limitado a 4. Tener un CDN hace que se puedan multiplicar el número de conexiones simultáneas y, por lo tanto, elimina uno de los cuellos de botella más importantes para la carga de webs con muchos elementos.
Por un lado, necesitas crear subdominios desde el panel de control de tu registrador de dominios.
Por otro lado, necesitas configurar la página para que haga uso de estos subdominios. Puedes hacerlo a mano, reescribiendo las urls de imágenes y archivos, pero es muy trabajoso.
Si usas drupal, lo mejor es usar el módulo que recomiendo en este artículo. Está bastante bien documentado, tienes una guía de configuración en este enlace http://wimleers.com/article/easy-drupal-cdn-integration-for-fun-and-profit
Espero haberte ayudado.
un saludo!