Hace tiempo que llevo pensando en escribir un pequeño artículo sobre los Aceleradores de php. Y ésta semana, aprovechando que he instalado uno en una nueva máquina para hostear éste y algunos otros blogs más, me he animado a ello.

Lo primero de todo, es entender qué es un Acelerador de php.

Como su nombre bien indica, un acelerador de php es “algo” (ahora veremos qué..), que acelera nuestro código escrito en php. Si reflexionamos un poco llegaremos rápidamente a unas sencillas preguntas ¿Cómo puede hacer “algo” que nuestro código se ejecute más rápidamente? ¿Qué hace ésto que parece tan mágico? ¿Retoca nuestro codigo en tiempo real para optimizarlo? ¿Mágicamente hace que nuestro código consuma menos recursos?

Por supuesto que no…

La explicación es mucho más sencilla de lo que parece.
Como bien sabemos, php no es un lenguaje compilado, sino un lenguaje interpretado (script). Cuando nuestro servidor Apache, o un comando CLI llama al intérprete de php para que ejecute un determinado archivo, nuestro intérprete genera en tiempo real los opcodes necesarios para su ejecución. Cada vez que se llama a ejecutar uno de nuestros archivos, nuestro intérprete vuelve a compilar en tiempo real nuestros scripts, incluso cuando llamamos a un script que se haya ejecutado anteriormente. Es aquí donde entran en juego los Aceleradores de php. Su función es simplemente la de recubrir todo el proceso de compilación, guardar los estados compilados de nuestros scripts en memoria, y facilitar una interfaz automatizada que evalúa si es necesario compilar un script o si disponemos de una copia ya compilada en memoria. Osea, que un Acelerador de php, no es más que un “cacheador” de opcodes.
Imaginaos cuánto tiempo y recursos ahorramos al evitar el compilado de toda nuestra home, o de nuestras páginas más visitadas.

La mejora de rendimiento es asombrosa, incluso podremos llegar a ver mejorado el rendimiento de carga de algunas páginas por 3.

Ésta es una de la mejoras de optimización más sencillas que podemos llevar a cabo en nuestro servidor web, y sin duda una de las mejores en relación dificultad de aplicación / mejoras claramente visibles obtenidas.

Existen muchos Aceleradores de php , como APC, eAccelerator, xCache , PHPA, …
Para gustos, colores. Seguro que encontrarás rápidamente un montón de comparativas, articulos a favor, en contra, y demás …

Yo voy a explicar cómo instalar xCache (en una máquina Ubuntu). Por su extrema sencillez de instalación y excelente rendimiento.

Continue Reading →