我的网站存在性能问题,并且在分析后发现它看起来好像没有加载缓存。所以我去了管理员并查看了缓存管理页面,所有缓存都被禁用了。我重新启用了它们,有时候会显示为已启用,有时会没有。
当我能够将配置缓存显示为启用时,我可以在前端查看探查器并查看该行:
法师::应用::初始化::配置:: load_cache
在启用缓存之前,此行未显示在探查器中。但是,在短时间(大约30秒)之后,任何已启用的缓存都会再次显示为已禁用,并且前端分析器不再具有此行(缓存未被使用)。
到目前为止,我无法让缓存继续存在。我对var / cache和777权限拥有apache所有权。最初在那里创建文件,但我也使用apc cache。
配置是:
<cache>
<backend>apc</backend>
<prefix>SH_</prefix> </cache>
有没有人有任何想法?
答案 0 :(得分:0)
尝试将<prefix>SH_</prefix>
设置更改为保证唯一的设置,例如你的数据库名称。
<强>背景强>
鉴于您提供的信息,我怀疑另一个Magento实例正在同一台具有相同缓存前缀的机器上运行。
每当您更改设置时,Magento会将它们写入数据库,然后还会保存缓存(请参阅Mage_Core_Model_Cache::_initOptions()
)。由于Magento实例共享相同的快速后端缓存池(因为前缀相同),因此其他主机也会使用这些设置。一旦其他主机清除了缓存,其(禁用)设置将写入缓存。现在您的实例也将缓存视为已禁用。
如果没有测试选项,我无法提供证据,但是,这是我最好的猜测。