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)"
变量:
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
环境:
Amazon EC2 微型实例,运行一个非常小的 wordpress 站点,访问者很少,大约有 8 个插件。
问题:
1) 碎片化为 100% 是否重要?它会以任何方式影响性能吗?
2)为什么碎片化不下去?
我认为当您将 ttl 设置为 > 0 时应该会自动释放空间
3) 为什么尽管 24 小时内处于 100% 碎片状态,但缓存完整计数却没有增加?
4) 我正在使用 APC 3.1.7 版是否值得升级到最新版本?(由于依赖关系,使用最新版本似乎更复杂,所以我宁愿尽可能避免)
仅当 APC 尝试向 shm 添加新内容时。由于您获得了 99.9% 的命中率(唯一的未命中是最初加载文件),因此不会影响性能。
因为 ttl 仅在需要更多空间时才会发挥作用,而当前的差距无法满足。
这有点用词不当——它实际上计算了 apc 必须从缓存中清除内容以为新条目腾出空间的次数。
这个问题太复杂了,无法在这里回答。使用安全性/稳定性/性能补丁使您的安装保持最新是一种很好的做法 - 但保持安装组件的一致性也很重要。