php-apc中未命中和命中之间的巨大差异

时间:2013-12-25 22:45:21

标签: php codeigniter memory-leaks apc

我只是无法弄明白,我的配置出错了,因为我得到了很多失误而且打击次数很少。最终导致内存泄漏。

看你自己。请注意,我使用的是APCu而不是APC。

enter image description here

http://i.stack.imgur.com/3DPxo.png

你对我可能做错了什么或出了什么问题有什么看法吗?

是的,我知道以下问题和答案:APC Hits/Misses and configuration。然而,经过多次尝试调整配置后,我仍然无法理解为什么会有如此多的错过。

我有一个简单的元搜索应用程序,其中搜索的所有结果都使用APC进行缓存。以下代码演示了我如何处理此类数据。

$dynamic_variable = "query_{$query}_page$this->page"; // This is just one case of many.

// Get Data from Cache
$cache_variable = "api1_{$dynamic_variable}_cached";
$result         = $this->cache->get($cache_variable);

if ( ! $result) {
    $result = .....
    $this->cache->save($cache_variable, $result, $this->cache_timeout);
}

return $result;

仅举这一点,该应用目前正在使用CodeIgniter 2.1.4,并迁移到https://github.com/ellislab/codeigniter/tree/release/3.0

1 个答案:

答案 0 :(得分:0)

在屏幕截图中,服务器报告它只持续了8分钟 - 这几乎没有足够的时间来获得稳定的图片。

在处理实际的流量后,请尝试检查号码。

<强>更新

由于在图片上方发布了答案,因此从this更新为this - 是的,在更新的图片中,点击率异常低。答案在于您的代码或人们如何使用该网站 - 而不是在APC中。

对1的强力防守没有多大意义。

我怀疑如果您使用已知的一组请求对此进行测试,您会发现它会产生可预测的命中率。你在收藏什么?如果您正在使用会话,则可能是您的代码出错(例如,在发送标头后调用session_start())。