Optimizando el desempeño de PHP, Apache y Lighttpd con eAccelerator

0 Comments

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.

Php info sin eaccelerator

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.

One Reply to “Optimizando el desempeño de PHP, Apache y Lighttpd con eAccelerator”

  1. 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

Deja tus preguntas o comentarios