Introduccion
No hace mucho que nos cambiamos de server y al poco tiempo de la migracion del contenido los hits al sitio se triplicaron. En hora buena mas visitas al blog, pero la mala noticia es que nuestro servidor de paginas dinamicas se esta comiendo los ciclos del CPU.
En articulos anteriores hemos visto como optimizar WordPress y MySQL, haciendo que el motor del blog funcione lo mas suave posible. Es hora de …
Optimizar PHP 5 para nuestro blog con WordPress
El proposito de este articulo es la optimizacion del motor del interprete de PHP y no el del web server apache2 o lighttp.
Verificar los modulos que carga PHP
Antes que nada escribimos un pequeño php para obtener la informacion de la version exacta de PHP instalada, asi como los modulos que soporta, y asi nos aseguramos que no cuente ya con un accelerador de codigo.
vi /var/www/info.php
<?php phpinfo(); ?>
Guardamos y salimos del archivo. Ahora, en nuestro navegador ingresamos la direccion de la pagina que acabamos de crear.
Tambien verificamos las conexiones existentes hacia nuestro servidor web
netstat -vtn | wc -l
Si el numero resultante del comando anterior y dependiendo de la cantidad de memoria ram y velocidad de cpu, si es menor de 800 no es problema. Tambien existe la posibilidad de que la lentitud de lighty pueda estar realmente en MySQL, para lo cual vean este articulo.
Instalando eAccelerator
Para instalar el pre compilador de php tendremos que hacerlo a la manera antigua, pero antes instalamos via apt las herrameintas necesarias para la compilacion:
apt-get install build-essential php5-dev bzip2
cd /tmp wget tar xvfj eaccelerator-0.9.5.3.tar.bz2 cd eaccelerator-0.9.5.3 phpize ./configure make make install
Configurar eAccelerator
Recuerden siempre visitar el sitio de eaccelerator para verificar la ultima version disponible. A continuacion creamos el archivo requerido para que php5 pueda cargar el modulo de eaccelerator.
vi /etc/php5/cgi/conf.d/eaccelerator.ini
Y lo editamos con esta informacion:
extension="eaccelerator.so" eaccelerator.shm_size="16" eaccelerator.cache_dir="/var/cache/eaccelerator" eaccelerator.enable="1" eaccelerator.optimizer="1" eaccelerator.check_mtime="1" eaccelerator.debug="0" eaccelerator.filter="" eaccelerator.shm_max="0" eaccelerator.shm_ttl="0" eaccelerator.shm_prune_period="0" eaccelerator.shm_only="0" eaccelerator.compress="1" eaccelerator.compress_level="9"
Optimizar eaccelerator
Si desean optimizar el acelerador pueden consultar los valores recomendados desde el sitio wiki oficial. Creamos el directorio para guardar los archivos del cache, y reinciamos el servidor web:
mkdir -p /var/cache/eaccelerator chmod 0777 /var/cache/eaccelerator /etc/init.d/lighttpd restart
Si regresamos a la pagina web que creamos al principio, podemos ver que el modulo de eaccelerator ya esta siendo ejecutado por PHP.
Con la version eaccelerator-0.9.6.1 del 2010 he logrado acelerar el rendimdiento comoopcode o memcache en Debian 6, Debian 7 y Ubuntu 10.10 y Ubuntu 10.11