PHP的APC – 是100%碎片一件坏事?

APC.PHP告诉我:

Uptime 2 days, 15 hours and 13 minutes File Upload Support 1 File Cache Information Cached Files 375 ( 53.5 MBytes) Hits 377684 Misses 376 Request Rate (hits, misses) 1.66 cache requests/second Hit Rate 1.66 cache requests/second Miss Rate 0.00 cache requests/second Insert Rate 0.00 cache requests/second Cache full count 0 User Cache Information Cached Variables 573 ( 2.3 MBytes) Hits 77569 Misses 889 Request Rate (hits, misses) 0.34 cache requests/second Hit Rate 0.34 cache requests/second Miss Rate 0.00 cache requests/second Insert Rate 0.06 cache requests/second Cache full count 0 "Fragmentation: 100.00% ( 8.0 MBytes out of 8.0 MBytes in 95 fragments)" 

variables:

 apc.shm_segments 1 apc.shm_size 64M apc.slam_defense 0 apc.stat 1 apc.stat_ctime 0 apc.ttl 3600 apc.user_ttl 3600 apc.max_file_size 1M apc.gc_ttl 3600 

环境:

亚马逊EC2的微型实例,运行一个非常小的WordPress用户访问量less,大约8个插件。

问题:

1)如果碎片变成100%会有影响吗? 它以任何方式影响性能?

2)为什么碎片不下来?
我认为当你把ttl设置为> 0时应该自动释放空间

3)为什么高速caching完全不算增加,尽pipe在100%碎片超过24小时?

4)我正在使用APC版本3.1.7是否值得升级到最新版本? (由于依赖关系,使用最新版本似乎更复杂,所以如果可能,我宁愿避免)

1)如果碎片变成100%会有影响吗? 它以任何方式影响性能?

只有APC试图向shm添加新的东西。 既然你得到了99.9%的命中率(唯一的缺点是最初加载文件),它不会影响性能。

2)为什么碎片不下来?

因为ttl只有在需要更多空间的时候才会起作用,而这个空间不能满足现在的空白。

3)为什么caching完整计数不增加

这有点不恰当 – 它实际上是apc必须从caching中驱逐东西来为新条目留出空间的次数。

我正在使用APC版本3.1.7是否值得升级到最新版本?

这个问题太复杂了,在这里回答。 最好让安装与安全/稳定性/性能的补丁保持同步,但保持安装组件一致也很重要。