我目前正在梳理Magento性能白皮书,以在假日季节开始之前优化我们的Magento体验。两个月来,我们遇到了严重的流量高峰,并希望确保我们运行得很顺利。我们使用Magento EE 1.8,默认情况下使用全页面缓存。除了FPC之外,我还启用了GZIP、缓存控制报头,并进行了白皮书推荐的所有mySQL调优调整。我们还将采用CDN来提供静态内容。
我们目前正在使用文件系统缓存,我不知道APC会落入这个堆栈的哪个部分,如果有的话。当我们已经在使用FPC的时候,安装APC值得吗?我知道Magento高速缓存和APC高速缓存是两个不同的东西,所以如果我编辑使Magento高速缓存无效并需要刷新的产品,我是否每次都必须刷新APC高速缓存?如有任何帮助,我们不胜感激!
发布于 2012-07-21 05:13:04
APC是面向PHP本身的操作码缓存,FPC更适合面向Magento本身的内容缓存。在进行任何产品更改时,您不应该需要刷新APC。只有FPC将需要刷新后端类型的编辑,Magento通常会通知你它是无效的。只有当PHP或模板(.phtml)文件被修改或更改时,才需要刷新APC。请记住,APC为CLI和基于Web的存储缓存是不同的,因此使用某种类型的wget或cURL请求到一个自定义的内部URL是最好的,它将清除缓存。
例如,类似于
system('wget --spider --quiet http://localhost/apc/clear_apc_cache.php');
此外,我强烈建议将Varnish反向代理服务器设置在堆栈的前面,因为它在高流量系统上的性能非常显著。您还可以使用memcache在Varnish或FPC之外保持签出或动态请求时的数据库加载。
Getting Varnish To Work on Magento
希望这能有所帮助!
发布于 2012-07-22 01:48:09
您可以将APC用于您的二级缓存(参见Mage_Core_Model_Cache
中的_getBackendOptions()
)。虽然APC不是最好的选择。
根据您是运行一个webnode还是多个webnode,您可以选择memcache (多个webnode)或tempfs (单个webnode)。在Magento中配置memcache后,您仍然可以使用APC缓存操作码。
编辑产品后,您只需点击缓存管理管理中的“刷新缓存存储”,即可使memcache中的所有条目无效。APC不需要任何刷新。
你目前在哪里存储你的会话?如果它也在磁盘上,您可能还希望将它们迁移到tempfs或memcache。不过,在使用memcache时要小心:为您的会话使用不同于用于FPC的端口/池。否则,您将在刷新memcache时刷新所有会话,注销所有用户并在进程中刷新他们的购物车。
https://stackoverflow.com/questions/11586410
复制相似问题