2010-02-17 21 views
16

APC muestra una fragmentación del 100%. ¿Es esto malo?APC muestra una fragmentación del 100%

¿Significa que no está ayudando para nada? ¿Qué caminos bajo para mejorar la situación?

Gracias de antemano.

+6

APC es php caching y código de fijación y evaluación comparativa, biblioteca de perfiles. – Sarfraz

+0

Le sugiero que revise su documentación. – Sarfraz

+1

@spender: consulte http://docs.php.net/apc – VolkerK

Respuesta

1

[...] La fragmentación es lo que perjudica el rendimiento, no el tamaño de la memoria per se. Pero también parece que la fragmentación ocurre cuando queda poca memoria [...]

Nótese también que parece que hay un error con el gráfico de apc.php: http://pecl.php.net/bugs/bug.php?id=13146

+0

No estoy seguro de cómo probar si el gráfico es preciso o no. Además, si se está fragmentando, ¿debería eliminarlo? No estoy seguro de qué hacer aquí. –

11

En mi experiencia, sí. Tenía un sistema donde APC mostraba una fragmentación del 100% y el rendimiento era malo. Aumenté el límite de memoria de APC (hasta 200 MB en mi caso, pero teníamos un montón de código) lo suficiente como para darle un poco de espacio libre. La fragmentación se redujo a cero, y el IIRC, el uso de la CPU en el servidor se redujo en un 50%.

Además, asegúrese de estar utilizando el script apc.php que viene con APC para controlar la fragmentación/utilización. Incluso hemos escrito un cheque de nagios para ver APC, porque tenemos suficiente tráfico que Apache se bloquea por completo cuando APC se llena.

Moraleja de la historia: brinde suficiente memoria a APC y monitoree la utilización.

+0

APC Admin, una buena herramienta para hacer exactamente lo mismo, http: //www.techzonemind.com/apc-admin-new-generation-admin-interface-php-apc/ –

2

Fragmentación significa que la APC a menudo arroja elementos de su caché y agrega nuevos y tiene problemas para encontrar bloques continuos lo suficientemente grandes.

Hay dos formas principales para mejorar el rendimiento a continuación

  • dar más memoria para APC. Idealmente, APC puede almacenar sus scripts completos en la memoria.
  • use apc.filter en php.ini para filtrar los archivos que no se solicitan con frecuencia o cambian con frecuencia.

También es malo utilizar apc_store() con poco tiempo de vida, ya que sobrescribe usando apc_store() a menudo.