Optimizando Drupal, mysql y apache

Posted by alexmoreno on Tue, 17/01/2012 - 12:38

La labor de un buen programador web no es simplemente tirar lineas de código sin más, y despreocuparse del resto de aspectos. Un buen programador web debe saber escribir buenas aplicaciones, que funcionen como se espera, lo más libres de errores posible... pero también debe ser capaz de que estén optimizadas lo mejor posible para aprovechar al máximo los recursos que tienen en su entorno.

Aprovechar al máximo quiere decir gastar lo menos posible, y si podemos usar un 50% de los recursos, por mucho que andemos sobrados, mejor que mejor. Básicamente lo notaremos y lo agradeceremos infinitamente cuando tengamos un pico de tráfico de usuarios o cualquier otra incidencia similar.

Los logs son fantásticos para detectar posibles incidencias y secciones que estén funcionando de manera incorrecta. La otra gran herramienta que tenemos, en el caso de Drupal, es la de los módulos como Boost que nos permiten optimizar su rendimiento.

Otra herramienta de la que debemos hacer uso en casos más extremos es la de cambiar la "mole" que supone Apache, por un servidor algo más ligero y coherente en el uso de recursos, como Ngnix, lighttp o Cherokee.

La siguiente alternativa u opción es la de tirar de caches y servidores de este tipo, que se encargan de almacenar una versión de las páginas, servir ellos mismos las peticiones de información y liberar de carga al servidor web.

De cualquier modo, antes de meternos en este tipo de jardines, lo suyo es optimizar al máximo los ficheros de apache (apache2.conf), mysql (my.conf) y el propio Boost.

Personalmente, para el 90% de las páginas cuyo tráfico es mayormente de usuarios anónimos la tercera opción es la más recomendada en el módulo boost, la de "(Not Recommended) Set Boost & Core (if enabled) cache for each page".

Aunque pone "not recommended", es cierto que si continuas leyendo verás que habla precisamente de que si tu tipo de usuario es mayormente anónimo esta opción es bastante más agresiva a la hora de optimizar el rendimiento del servidor.

En próximos artículos más trucos y detalles sobre optimización de servidores enfocados especialmente en el rendimiento de Drupal.

Enlaces relacionados: