what versiones php5 net español php caching zend-optimizer

versiones - php5



¿Compilado PHP? (10)

¿Alguien tiene experiencia trabajando con aceleradores PHP como MMCache o Zend Accelerator ? Me gustaría saber si usar cualquiera de estos hace que PHP sea comparable a las tecnologías web más rápidas . Además, ¿hay compensaciones por usar estos?


Ambos son interesantes y proporcionarán un aumento de velocidad, ya que compilan el código fuente en una representación binaria que luego ejecuta el motor PHP.

Cualquier gran sitio web que se ejecute con PHP (Facebook, por ejemplo) está ejecutando algún tipo de sistema de caché de código de operación como MMCache.

El problema es que no son muy fáciles de configurar dependiendo de su sistema.


Dependiendo de la cantidad de código PHP que se ejecute realmente y de cuánto tiempo lleve la ejecución, puede ser una gran ganancia. Ciertamente, no va a doler, pero la ganancia que ve dependerá en gran medida de donde se gasta su tiempo actualmente.

Por cierto, mmcache se ha convertido en un proyecto diferente ahora, se me olvida el nombre, pero Google te lo dirá.



Usé Zend Accelerator un poco en el día (2004-ish). Ciertamente dio algunas ganancias de rendimiento significativas en el código con el que podría funcionar, pero desafortunadamente el sistema que estaba usando estaba diseñado para cargar código de forma dinámica y luego evaluarlo, con lo que Zend Accelerator no pudo hacer mucho en ese momento (y yo '' creo que todavía no puede).

En el lado negativo, ciertamente vimos algunos problemas de almacenamiento en caché (donde el código sería modificado, pero la versión compilada se sincroniza con el cambio por una razón u otra). Me imagino que esos problemas probablemente ya se hayan solucionado.

De todos modos, no tengo números de comparación difíciles, y ciertamente no escribí el mismo sistema en diferentes entornos para comparar, pero para la gran mayoría de los sistemas, PHP no te matará en cuanto a rendimiento.


Uso APC en mis servidores de producción y funciona bastante bien. Compílalo y agrégalo a PHP y no queda mucho por hacer. Lo reviso de vez en cuando solo para revisar las estadísticas, pero como utilizo mucho MVC, todos los archivos principales (enrutadores, controladores, etc.) rara vez cambian día a día, por lo que el código se mantiene compilado y se ejecuta de manera bastante eficiente. .


actualmente usamos la APC, gratis y solo fue un simple plug and play en nuestros servidores en vivo. Proporcionó un gran aumento en el rendimiento de nuestro sitio, especialmente a medida que aumentaba el tamaño del proyecto. También tengo el apc.stat deshabilitado por lo que no comprueba si el código se ha actualizado, por lo que cada vez que tenemos que actualizar el código en el sitio en vivo, reiniciamos apache.


Utilizo APC y puedo dar fe de que puede reducir drásticamente la carga de CPU y E / S en un servidor de aplicaciones si mantiene una tasa alta de caché. No solo evita que tengas que compilar, sino que también evita que tengas que leer los archivos php desde el disco. (es decir, los códigos de bytes se sirven directamente desde la memoria principal, por lo que es súper rápido). Disminuye la velocidad para representar una sola página y aumenta las solicitudes por segundo que su servidor puede manejar.

Si usa RedHat o CentOS, la instalación de APC es súper simple:

yum install php-devel httpd-devel php-pear pecl install apc echo "extension=apc.so" > /etc/php.d/apc.ini # if you''re using SELinux: chcon "system_u:object_r:textrel_shlib_t" /usr/lib/php/modules/apc.so /etc/init.d/httpd restart

Usted preguntó acerca de los inconvenientes. El único inconveniente es que requiere algo de memoria. El valor predeterminado de APC es de 30 MB, pero puede ajustarse y el costo de un poco de memoria se compensa con la mayor velocidad y tasa de respuesta.


Las pruebas de BlaM incluyeron todas las llamadas DB hechas por WordPress. Cuando realice menos llamadas a bases de datos, verá que la ganancia de rendimiento de los cachés de códigos de operación será aún más dramática.


¿Has visto a Phalanger? Compila PHP a código .NET. Aquí hay algunos puntos de referencia que muestran que puede mejorar dramáticamente el rendimiento.


Tenga en cuenta que Zend Optimizer y MMCache (o aplicaciones similares) son cosas totalmente diferentes. Mientras Zend Optimizer intenta optimizar el código de operación del programa, MMCache almacenará en caché los scripts en la memoria y reutilizará el código precompilado.

Hice algunos puntos de referencia hace algún tiempo y puedes encontrar los resultados en mi blog (aunque en alemán). Los resultados básicos:

Zend Optimizer solo no ayudó en absoluto. En realidad, mis scripts fueron más lentos que sin optimizador.

Cuando se trata de cachés: * más rápido: eAccelerator * XCache * APC

Y: ¡QUIERES instalar un caché de código de operación!

Por ejemplo: texto alternativo http://blogs.interdose.com/dominik/wp-content/uploads/2008/04/opcode_wordpress.png

Esta es la duración que tardó en llamar a la página de inicio de wordpress 10.000 veces.

Editar: BTW, eAccelerator contiene un optimizador.