因此,我一直在使用 memcached 来缓存大量查询数据库的结果数据。所有数据均保留默认设置,平均而言,我在 memcache 中存储的数据不到 40MB。我使用 memcache.php 来监控这些数据。然后,我决定切换到 APC 并在本地缓存数据,因为我真的不需要 memcache(以避免 TCP 开销?)。然后,数据变得越来越大,我开始看到许多碎片问题。我的服务器有 16GB 的 RAM,而且有足够的空间,因此我为 APC 分配了 2GB。大约 6 小时后,它已填充到 1.1GB。我认为它已经接近缓存了它可以缓存的所有内容。这与 memcache 存储的数据(不到 40MB)有很大不同。更不用说 APC 图表显示了大量碎片,并且还在继续增长。我不确定这是不是个问题?
以下是 APC.php 提供的屏幕截图:https://i.stack.imgur.com/J1eIO.png
其他一些注意事项:apc.gc_ttl = 0; apc.stat = 0;
答案1
我接触 APC 已经有几年了,但从我读过的资料来看,即使将 TTL 设置为 0,也总是存在一定程度的碎片化(好吧,我们总是存在一些碎片化)。如果您没有看到系统有任何性能问题,并且碎片化程度在 5% 到 7% 左右,那么我认为这不是一个问题。
我非常高兴能被击落,因为我说过我已经有几年没有使用 APC 了。