APC 显示 100% 碎片

2022-08-31 01:13:51

APC 显示 100% 碎片。这不好吗?

这是否意味着它根本没有帮助?我应该走哪些路来改善情况?

提前致谢。


答案 1

根据我的经验,是的。我有一个系统,其中APC显示100%碎片,并且性能很差。我增加了APC的内存限制(在我的情况下是200 MB - 但我们有很多代码),足以给它一些松弛的空间。碎片降至零,IIRC,服务器上的CPU使用率下降了50%。

此外,请确保使用 APC 附带的 apc.php 脚本来监视碎片/利用率。我们甚至写了一个nagios检查来监视APC,因为我们有足够的流量,当APC填满时,apache会完全锁定。

故事的寓意是:给APC足够的内存,并监控利用率。


答案 2

碎片化意味着apc经常从其缓存中丢弃项目并添加新项目,并且很难找到足够大的连续块。

有两种主要方法可以提高性能,然后

  • 为 APC 提供更多内存。理想情况下,APC可以将完整的脚本存储在内存中。
  • 在php.ini中使用apc.filter来过滤掉不经常请求或经常更改的文件。

同样,使用寿命较短的apc_store()也是不好的,经常使用apc_store()进行覆盖也是如此。


推荐