如何强制Magento使用APC缓存

5
我刚在我的托管账户上安装了Magento Commerce,但是网站表现非常缓慢。为了加速网站,我安装了APC缓存,但是我无法让它正常工作。我使用了这些安装说明。 我按照所有步骤进行了操作,并似乎已经成功安装了APC。没有问题。当我检查APC.php时,它只显示了1次命中和1次未命中的缓存,这肯定不对... 这让我认为APC没有被激活或使用。
我尝试通过将以下内容添加到/var/www/app/etc/local.xml来确保Magento使用APC。
            <cache>
                    <backend>apc</backend>
                    <prefix>alphanumeric</prefix>
            </cache>

非常感谢您的帮助。


1
只是一个愚蠢的问题:你重启了服务器,对吧?PHP ini指令在PHP模块加载时加载,即当服务器第一次需要该模块时。 - user268396
我正在使用MediaTemple的Gridserver,因此无需重新启动Apache。据说更改会立即生效。 - user523513
3个回答

7

我建议您使用一个与“字母数字”不同的唯一字符串。这样,如果您与其他用户或应用程序共享APC,则可以区分您的缓存。

您是否已将xml节点放置在local.xml中的正确位置?上下文应该是这样的:

  ...
  <session_save><![CDATA[db]]></session_save>
  <cache>
    <backend>apc</backend>
    <prefix>ReplaceThisWithSomeUniqueString</prefix>
  </cache>
</global>

此外,在修改了local.xml之后,请确保执行rm -rf /var/www/var/cache/*

Jonathan,我确认了XML节点的位置并更改了字符串。但是我仍然没有太多的运气。我检查了PHPInfo文件,APC确实显示在那里。但是APCInfo仍然没有显示任何对缓存的命中。 - user523513

1

检查您的服务器日志并查找分段违规。如果您只看到1个命中/未命中,则可以肯定地说每个命中都会终止服务器进程。这是某些PHP和APC版本组合的问题。

如果您正在使用mmap后端,请尝试重新编译没有mmap的APC。(我经常遇到使用mmap后端时崩溃的情况。)

一个问题,您使用的是PHP 5.2还是5.3?


1

我遇到了同样的问题。在我的情况下,我错误地设置了最大文件大小参数。我没有在值后面添加M

所以,我写成了apc.max_file_size=10,而不是apc.max_file_size=10M。


这对我有用。很多“安装”说明已经过时,无法满足现在APC所需的M/G后缀。 - gazarsgo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接