2011-04-19 44 views
5

Acabo de instalar Magento Commerce en mi cuenta de hosting y estoy obteniendo un rendimiento bastante lento. Para ayudar a acelerar el sitio, instalé el caché de APC pero estoy teniendo problemas para hacerlo funcionar. Usé estos install instructions.Cómo forzar a Magento a utilizar el caché de APC

Seguí todos los pasos y parecía tener instalado APC. No hay problemas. Cuando reviso APC.php, solo muestra 1 hit y 1 error en el caché, lo que no puede ser correcto ... Haciéndome pensar que APC no está activo o en uso.

Intenté asegurarme de que Magento utiliza APC agregando lo siguiente a /var/www/app/etc/local.xml.

  <cache> 
        <backend>apc</backend> 
        <prefix>alphanumeric</prefix> 
      </cache> 

Cualquier ayuda es muy apreciada.

+1

Sólo una pregunta tonta: reinició su servidor, ¿verdad? Las directivas PHP ini se cargan cuando se carga el módulo PHP, es decir, cuando el servidor necesita ese módulo por primera vez. – user268396

+0

Me estoy ejecutando en GridServer de MediaTemple, por lo que no es necesario reiniciar Apache. Supuestamente los cambios tienen efecto de inmediato. – user523513

Respuesta

7

Le sugiero que utilice una cadena única que no sea "alfanumérica". De esta forma, si comparte APC con otros usuarios o aplicaciones, su caché será diferenciada.

¿Ha colocado los nodos xml en la ubicación correcta en local.xml? El contexto debe ser como este:

... 
    <session_save><![CDATA[db]]></session_save> 
    <cache> 
    <backend>apc</backend> 
    <prefix>ReplaceThisWithSomeUniqueString</prefix> 
    </cache> 
</global> 

Además, asegúrese de que usted hizo un rm -rf /var/www/var/cache/* después de cambiar local.xml.

+0

Jonathan, confirmé la ubicación de los nodos XML y cambié la cadena. Todavía no estoy teniendo mucha suerte. Comprobé el archivo PHPInfo y APC está apareciendo allí. Sin embargo, el APCInfo todavía no muestra ningún hits en el caché. – user523513

1

Revise los registros de su servidor y busque violaciones de segmentación. Cuando solo ves 1 hit/miss, es una señal segura de que cada golpe mata el proceso del servidor. Este es un problema con ciertas combinaciones de versiones de PHP y APC.

Si está utilizando el backend mmap, intente compilar APC de nuevo sin mmap. (A menudo experimenté bloqueos usando el backend mmap.)

Una pregunta, ¿utiliza PHP 5.2 o 5.3?

1

Me encontré con el mismo problema. En mi caso, establecí el parámetro para el tamaño máximo de archivo de la manera incorrecta. No agregué un M detrás del valor.

Entonces, en lugar de apc.max_file_size = 10M, escribí apc.max_file_size = 10.

+0

Esto lo hizo por mí. Muchas instrucciones de "instalación" tienen la antigüedad suficiente para anticipar el sufijo M/G que ahora requiere APC. – gazarsgo

Cuestiones relacionadas