根据我的经验,是的。我曾经使用一个系统,其中APC显示100%的碎片化,并且性能很差。我增加了APC的内存限制(在我的情况下为200 MB-但我们有很多代码),这足以给它一些余地。碎片化下降到零,如果我没记错,服务器上的CPU使用率下降了50%。
另外,请确保您正在使用随APC一起提供的apc.php脚本来监视碎片化/利用率。我们甚至编写了一个nagios检查来监视APC,因为我们的流量足够大,当APC填满时,apache会完全锁定。
故事的寓意:给APC足够的内存,并监视其利用情况。
碎片化意味着APC经常从其缓存中丢弃物品并添加新的,并且很难找到足够大的连续块。
那么提高性能有两种主要方法
此外,使用具有短寿命的apc_store()是不好的,经常使用apc_store()进行覆盖也是如此。