xCache, una utilidad para PHP usable en Apache2 y Lighttpd

<p><strong>xCache </strong>es una utilidad que guarda en una memoria caché de código operativo (opcode) los scripts <span>PHP</span> que el sistema compila para evitar realizar dicho paso en siguientes peticiones,y soporta principalmente los servidores web Lighttpd y Apache.</p>

<p>Este sistema <strong>aumenta la velocidad de nuestros sitios web</strong> entre 4 y 5 veces, y aún podemos llegar más lejos usando la caché de variables que incorpora y que veremos más adelante.<br>

Sólo es necesario que nuestra versión PHP esté comprendida entre la 4.3 y la 5.3 (y algunas versiones en desarrollo de 6.0), excepto la 5.0.

<p></p>

Instalando xCache

<p>En un sistema basado en paquetes Debian bastaría con un:</p>

<p><code><br>

$ sudo aptitude install php5-xcache

<p>$ sudo cat /etc/php5/conf.d/xcache.ini &gt;&gt; /etc/php5/cgi/php.ini<br>

<p>Para otros sistemas o distribuciones, bastaría con ejecutar los comandos apropiados (yum,pacman,etc) y cambiar las rutas por las que correspondan.</p>

<p>Una vez dispongamos de la instalación básica y de una configuración por defecto, debemos editar el fichero <em>/etc/php5/cgi/php.ini</em> y cambiar los valores <em>xcache.size</em> y <em>xcache.var_size</em> por unos valores adecuados (dependiendo de la <span>RAM</span> de la que dispongamos).</p>

<p><code><br>

xcache.size = 128M

<p>xcache.var_size =  2M<br>

<p>Aunque parece que el tema de caché sólo tiene que ver con memoria también podremos beneficiarnos del uso de varios procesadores en esta tarea, para lo cual, en este caso, le digo que tengo cuatro procesadores:</p>

<p><code><br>

xcache.count = 4

<p>xcache.var_count = 4<br>

<p>(Para ver el número de procesadores de nuestro servidor basta con ejecutar <em>cat /proc/cpuinfo |grep -c processor</em>)</p>

Aplicando la configuración

<p>Una vez hemos cambiado los valores es necesario <strong>reiniciar nuestro servidor web</strong>, que en caso de Apache2 será:</p>

<p><code>

$ sudo /etc/init.d/apache2 restart

<p>Y en caso de Lighttpd será:</p>

<p><code>

$ sudo /etc/init.d/lighttpd restart

<p>Una vez reiniciado ya tendremos la xCache funcionando. Para comprobarlo basta con ejecutar un fichero <span>PHP</span> con una llamada a phpinfo():</p>

<p><code>

< ?php
phpinfo();
?>

<p>Y debemos obtener algo parecido a esto:</p>

<p><img src="http://img.genbetadev.com/2011/04/2011-04-04_1540.png" alt="Resultado de phpinfo() con xCache" /></p>

<p>Este resultado es producto de una instalación sobre una Debian Squeeze y usando Apache2 como servidor web.</p>

Comprobando las mejoras

<p>xCache es más efectivo, como sucede en las cachés, cuantas más peticiones de los mismos scripts se realicen para así amortizar el gasto de memoria que estamos efectuando.</p>

<p>Para hacer unas mediciones rápidas podemos usar la herramienta ab, que viene incorporada con el servidor Apache.</p>

<p><code>

$ ab -c25 -n750 http://misitio.com

<p>Y obtendremos un resultado similar (en formato, obviamente) a este:</p>

<p><code><br>

Concurrency Level: 25
Time taken for tests: 3.733 seconds
Complete requests: 750
Failed requests: 0
Write errors: 0
Total transferred: 50539500 bytes
HTML transferred: 50403000 bytes
Requests per second: 200.93 [#/sec] (mean)
Time per request: 124.421 [ms] (mean)
Time per request: 4.977 [ms] (mean, across all concurrent requests)
Transfer rate: 13222.60 [Kbytes/sec] received

<p>Connection Times (ms)
          min  mean[+/-sd] median   max<br>

Connect: 0 8 14.9 5 156
Processing: 25 113 40.1 104 525
Waiting: 20 70 26.8 69 227
Total: 44 121 44.9 108 525

<p>En este caso la mejora ha sido de un 15% aproximadamente, pero este aumento será más apreciable en un sitio con muchas visitas y comprobando la experiencia de navegación y las gráficas de uso de <span>CPU</span>.</p><div>

Via http://www.genbetadev.com/php/xcache-mejorando-la-potencia-de-php-i

Related Posts with Thumbnails
 

Comments are closed.

Weboy