APC 显示 100% 碎片

发布于 2024-08-22 05:28:46 字数 149 浏览 5 评论 0原文

APC 显示 100% 碎片。这很糟糕吗?

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

提前致谢。

APC is showing 100% fragmentation. Is this bad?

Does it mean that it's not helping at all? What paths do I go down to improve situation?

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

眼泪淡了忧伤 2024-08-29 05:28:46

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

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

这个故事的寓意是:为 APC 提供足够的内存,并监控利用率。

In my experience, yes. I had a system where APC was showing 100% fragmentation, and performance was bad. I increased APC's memory limit (to 200 MB in my case -- but we had a lot of code) enough to give it some slack room. Fragmentation dropped to zero, and IIRC, CPU usage on the server dropped by 50%.

Also, make sure you're using the apc.php script that comes with APC to monitor fragmentation/utilization. We've even written a nagios check to watch APC, 'cause we have enough traffic that apache locks up entirely when APC fills up.

Moral of the story: give APC enough memory, and monitor utilization.

小巷里的女流氓 2024-08-29 05:28:46

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

提高性能主要有两种方法:

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

另外,使用生存时间较短的 apc_store() 也是不好的,就像经常使用 apc_store() 进行覆盖一样。

Fragmentation means that apc often throws out items from it's cache and adds new ones and has trouble finding large enough continous blocks.

There are two main ways to improve performance then

  • Give more memory to APC. Ideally APC can store your complete scripts in memory.
  • use apc.filter in php.ini to filter out files which aren't requested often or change often.

Also using apc_store() with a short time to live is bad, as is overwriting using apc_store() often.

戴着白色围巾的女孩 2024-08-29 05:28:46

[...] 碎片是影响性能的因素,而不是内存本身的大小。但当内存不足时,似乎也会发生碎片 [...]

另请注意,apc.php 的图表似乎存在一个错误: http://pecl.php.net/bugs/bug.php?id=13146

[...] Fragmentation is what hurts performance, not the size of memory per se. But it also seems that fragmentation happens when memory is low [...]

Note also that there seems to be a bug with apc.php's graph: http://pecl.php.net/bugs/bug.php?id=13146

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文