PHP APC - 100%碎片是一件坏事吗?

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)"

变量:

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) 为什么尽管缓存碎片率已达到 100% 并且已持续超过 24 小时,但缓存完整计数却没有增加?

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

答案1

1) 如果碎片化达到 100% 会有什么影响吗? 它会以某种方式影响性能吗?

仅当 APC 尝试将新内容添加到共享内存中时才会发生。由于您的命中率为 99.9%(并且唯一的未命中是最初加载文件),因此它不会影响性能。

2)为什么碎片化一直下不去?

因为仅当需要更多空间而当前的间隙无法满足时,ttl 才会发挥作用。

3)为什么 Cache 满计数不增加

这有点用词不当 - 它实际上计算的是 apc 必须从缓存中清除内容以便为新条目腾出空间的次数。

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

这个问题太复杂了,无法在这里回答。保持安装的安全性/稳定性/性能补丁最新是一种很好的做法 - 但保持安装组件的一致性也很重要。

相关内容