A principios de este año uno de nuestros primeros objetivos fue actualizar iPodTotal a Drupal 6. No es el primero de los sitio de nuestra red que es actualizado a la nueva versión de Drupal, MacTotal, DecoTotal, y este sitio (subespacio.com) utilizan Drupal 6 en una configuración multisitio.
El problema era que iPodTotal es mucho más complejo que todos los otros "Blogs" juntos, utiliza más módulos, tiene varios tipos de contenidos, muchas vistas, y además muchísimo más visitas y contenido que el resto.
Al volver de mi viaje a MacWorld y el International Consumer Electronics Show (CES) a fines de enero pusimos este proyecto en primera prioridad y comenzamos a trabajar en la actualización a toda marcha.
En las primeras pruebas la actualización del contenido resultó exitosa y menos complicada de lo que habíamos previsto, pero algunos de los módulos adicionales nos trajeron más problemas o no tenían versiones lo suficientemente estables. Finalmente pudimos actualizar el sitio a Drupal 6, pero este era sólo el primer paso. Desde un principio decidimos que este esfuerzo no iba a ser simplemente para una actualización de Drupal, sino que también renovaríamos el diseño del sitio.
El nuevo diseño se basó en el trabajo que estábamos realizando para GeekTotal, un nuevo sitio de nuestra red que lamentablemente aún no pudimos lanzar por falta de tiempo. El diseño es simple, con un área principal y una barra lateral derecha, pero tiene un aspecto más moderno.
También incluimos detalles dinámicos como un recuadro de noticias destacadas que rotan automáticamente utilizando Views Rotator y agrupamos varios elementos de la barra lateral utilizando el módulo de pestañas QuickTabs.
Gran parte del trabajo de la renovación de iPodTotal estuvo dedicado a la creación del tema utilizado para este sitio. Tuvimos que crear temas personalizados no solo para la estructura del sitio, sino para los distintos tipos de contenido y varias vistas.
Además de los módulos básicos de Drupal, iPodTotal utiliza CCK, Views, Panels, ImageCache, Nodequeue, Voting API, Advanced Forum, AJAX Comments, Quick Tabs, Tagadelic, Views Rotator, Private messages y Pathauto. Son muchos módulos y es cierto que podemos deshacernos de algunos de ellos (por ejemplo Tagadelic), pero iPodTotal es un sitio complejo y todos ellos son necesarios para crear una comunidad y ofrecer una experiencia de usuario satisfactoria.
La transición finalmente se hizo a principios de marzo y creemos que resultó muy exitosa. Todos los comentarios recibidos fueron positivos y esperamos que el nuevo iPodTotal sea del agradado de todos nuestros usuarios.
Mayor consumo de recurso de Drupal 6
Pronto nos dimos cuenta que usar Drupal 6 tiene su precio. Ya en nuestro servidor de pruebas descubrimos que e consumo de memoria y en especial el tiempo de generación de una página en Drupal 6 era hasta 50 por ciento mayor que en Drupal 5, incluso antes de haber activado la mayoría de los módulos adicionales.
iPodTotal funciona en un servidor dedicado con un procesador de doble núcleo y 2GB de memoria RAM y hasta ahora había resistido con éxito la carga normal, pero habíamos experimentado algunos problemas cuando intentamos hacer un liveblog desde el Keynote de apertura de Macworld 2009 debido a un aumento momentáneo en las visitas.
Las proyecciones no eran buenas y debíamos encontrar una solución a este problema. Lo primero que se nos vino a la mente fue cambiar a un servidor más grande, pero realmente no estábamos seguros de poder afrontar los costos y el servidor actual debería ser lo suficientemente poderoso para la cantidad de visitas que teníamos en ese momento.
Investigando un poco llegamos a la la conclusión que la mejor solución era optimizar la ejecución de PHP con un Opcode cache. Finalmente nos decidimos por APC que resultó ser el más estable y nos proporciona una reducción considerable en el uso de recursos.
Usar un cache y optimizador de PHP como APC nos aseguraba que el nuevo sitio en Drupal 6 podría funcionar en nuestro servidor mientras se mantuviese la cantidad de visitas actuales, ¿pero qué pasaría si las visitas aumentan?. La solución a esto fue el módulo de Drupal llamado Boost, este módulo crea páginas estáticas del sitio que son mostradas a los usuarios anónimos. De esta forma no es necesario hacer consultas o procesar la página por cada visita.
Con ambas soluciones trabajando en conjunto creemos que iPodTotal está preparado para satisfacer todas las visitas actuales y las que podamos llegar a tener en un futuro cercano.