Los productos que enumera tienen diferentes propósitos.
Caches OPCode
Hay muchos Aceleradores PHP (OPCaches) como se ve en esta lista de Wikipedia . Como es común con los productos de código abierto, todos son bastante similares. XCache es el acelerador PHP de lighttp, y es la opción predeterminada cuando ejecuta ese HTTPd. Funciona bien con Apache también, sin embargo, APC parece ser un poco más "socialmente bueno con los demás" socialmente hablando, siendo oficialmente compatible como parte de PHP, y se lanza paso a paso con la distribución oficial de PHP.
Abandoné el uso de eAccelerator debido a su lento desarrollo y retraso con respecto a los lanzamientos de PHP, y el estado oficial bendecido que APC ofrece con un rendimiento similar.
Estos productos generalmente son de entrada; sin cambio de código, aumento instantáneo del rendimiento. Con grandes bases de código (Drupal, Wordpress), el rendimiento puede ser hasta 3 veces mejor al tiempo que reduce el tiempo de respuesta y el uso de memoria.
Almacenamiento en caché de datos
Memcache es un producto ligeramente diferente: puede considerarlo como un sistema de valores clave ligero que se puede escalar a varios servidores . El software debe ser mejorado para admitir Memcache, y resuelve ciertos problemas mejor que otros. Si tuviera una lista de valores de acciones en tiempo real en su sitio web, puede usar Memcache para mantener una lista residente del valor actual que se muestra en su sitio web. Puede usarlo para almacenar datos de sesión para su reutilización a corto plazo. No lo usaría para otras cosas, como cachés de página completa, o como reemplazo de MySQL.
También hay complementos de Wordpress como WP-Super-Cache que pueden mejorar drásticamente el rendimiento de Wordpress (de hecho, WP-Super-Cache puede rivalizar con sitios basados en HTML estático en muchos casos)
En resumen: recomendaría APC si desea un "configúrelo y olvídelo, producto bien compatible".
[4]: http://
" para arreglarlo.Se publicó una buena respuesta en stackoverflow que responde muy bien a su pregunta.
https://stackoverflow.com/questions/28716/which-php-opcode-cacher-should-i-use-to-improve-performance
fuente
APC se integrará en PHP6, por lo que es una opción lógica. Lo uso, y el aumento de rendimiento es increíble. Si necesita almacenar en caché algo que no sean códigos de operación (es decir, resultados de consultas de db), también puede usar APC para eso, pero no es posible compartir cachés APC entre varios servidores. Si solo necesita almacenar en caché en un solo servidor, APC es excelente. Si necesita escalar a varios servidores y desea compartir una memoria caché entre ellos, memcached es su hombre.
Sin embargo, una cosa que haría es crear una clase de contenedor para cualquier almacenamiento en caché (sin código de operación) que haga. De esa manera, puede cambiar el motor de almacenamiento en caché sin cambiar su código.
fuente
Solo para notar que las cosas han cambiado un poco y parece que APC no se incluirá en el núcleo de PHP 6.
APC tiene un desarrollo lento y parece que nunca será compatible con PHP 5.5. Por eso, parece que los chicos de PHP configurarán la extensión de caché de código de operación Zend OPCache como la extensión PHP CORE. Te importa leer más aquí http://wiki.php.net/rfc/optimizerplus .
Nota importante: Zend OPCache no tiene caché de datos de usuario como APC, por lo que si necesita caché de datos de usuario, puede usarlo junto con Memcache.
fuente
Si ejecuta la versión PHP al menos 5.50, OpCache es su mejor opción (biblioteca nativa PHP / PECL). Debe venir precompilado si se instala desde binario.
http://php.net/manual/en/book.opcache.php
Si ejecuta la versión PHP anterior a la 5.5, APC (caché OpCode nativo de PHP / PECL) sería la opción más simple, aunque se considera no mantenida y muerta:
http://php.net/manual/en/book.apc.php
El uso de la funcionalidad nativa OpCache de PHP debería ahorrarle la molestia de mantener bibliotecas de terceros.
fuente
Memcache almacena en caché los pares clave / valor, no los códigos de operación. Puede usarlo junto con uno de los cachés de código de operación.
fuente