0

我目前正在梳理 Magento 性能白皮书,以在假期开始前优化我们的 Magento 体验。两个月来,我们遇到了严重的流量高峰,并希望确保我们运行顺利。我们使用 Magento EE 1.8,默认使用全页缓存。除了 FPC,我还启用了 GZIP、Cache-Control 标头,并进行了白皮书推荐的所有 mySQL 调整调整。我们还将使用 CDN 来提供静态内容。

我们目前正在使用文件系统缓存,我对 APC 将落入这个堆栈的位置感到困惑,如果有的话。当我们已经在使用 FPC 时,是否值得安装 APC?我知道 Magento 缓存和 APC 缓存是两个不同的东西,所以如果我编辑使 Magento 缓存无效并需要刷新的产品,我是否必须每次都刷新 APC 缓存?任何帮助表示赞赏!

4

2 回答 2

2

APC 是面向 PHP 本身的操作码缓存,FPC 更面向缓存面向 Magento 本身的内容。进行任何产品更改时,您不需要刷新 APC。只有 FPC 需要在后端类型的编辑时刷新,Magento 通常会通知您它已失效。仅当 PHP 或模板 (.phtml) 文件已被修改或更改时,才需要刷新 APC。请记住,APC 以不同的方式为 CLI 和 Web 存储缓存,因此最好对自定义内部 URL 使用某种类型的 wget 或 cURL 请求来清除缓存。

例如像

system('wget --spider --quiet http://localhost/apc/clear_apc_cache.php');

此外,我强烈建议在堆栈前面设置 Varnish 反向代理服务器,因为它的性能在高流量系统上非常显着。您还可以使用 memcache 将数据库负载保持在 Varnish 或 FPC 之外的结帐或动态请求上。

让 Varnish 在 Magento 上工作

希望这可以帮助!

于 2012-07-20T21:13:04.203 回答
1

您可以使用 APC 进行 2 级缓存(参见 参考资料_getBackendOptions()Mage_Core_Model_Cache。虽然 APC 不是最好的选择。

根据您是运行单个还是多个 webnode,您可以选择 memcache(多个 webnode)或 tempfs(单个 webnode)。在 Magento 中配置 memcache 后,您仍然可以使用 APC 来缓存操作码。

编辑产品后,您只需在缓存管理管理员中点击“刷新缓存存储”即可使 memcache 中的所有条目无效。APC 不需要任何冲洗。

您当前将会话存储在哪里?如果它也在磁盘上,您可能还希望将它们迁移到 tempfs 或 memcache。不过,在使用 memcache 时要小心:为会话使用不同的端口/池,而不是用于 FPC 的端口/池。否则,您将在刷新 memcache 时刷新所有会话,注销所有用户并在进程中刷新他们的购物车。

于 2012-07-21T17:48:09.323 回答