让清漆在Magento上工作

Jos*_*ton 16 php cookies caching magento varnish

首先请原谅我对Varnish完全缺乏了解.这是我第一次用Varnish做任何事情.

我跟随的例子是:http://www.kalenyuk.com.ua/magento-performance-optimization-with-varnish-cache-47.html

但是当我安装并运行它时,Varnish似乎没有缓存.我确实得到了带有单个数字的X-Varnish标头和一个值为1.1清漆的Via标头

我被告知(由我的ISP),因为Magento设置了以下cookie:

Set-Cookie: frontend=6t2d2q73rv9s1kddu8ehh8hvl6; expires=Thu, 17-Feb-2011 14:29:19 GMT; path=/; domain=XX.X.XX.XX; httponly

他们说我要么改变Magento来处理这个问题,要么配置Varnish来处理这个问题.由于改变Magento是不可能的,我想知道是否有人可以告诉我如何配置Varnish来处理这个cookie?

Mar*_*rio 8

http://moprea.ro/2011/may/6/magento-performance-optimization-varnish-cache-3/描述了Magento扩展,它支持带有清漆的整页缓存.此扩展依赖于在github上发布的Varnish配置.

这些是已经实现的功能:

  1. 可行的清漆配置
  2. 使用Varnish启用整页缓存,Varnish是一种超快速缓存HTTP反向代理.
  3. 清漆服务器可在Admin中配置,在System/Configuration/General - Varnish Options下
  4. 保存产品,类别和CMS页面时自动清除(仅)缓存的页面.
  5. 在系统/高速缓存管理下的Magento Admin中添加新的高速缓存类型,并提供停用高速缓存和刷新高速缓存的可能性.
  6. 保存类别导航时通知管理员用户,并且需要刷新清漆缓存,以便更新所有页面的菜单.
  7. 对于在购物车中有产品或已登录的用户,自动关闭清漆缓存等.)
  8. 提供默认的清漆配置,以便模块可用.截屏:https://github.com/madalinoprea/magneto-varnish/wiki


小智 7

如何在Varnish中缓存Magento(理论) - 这有两个组成部分

1)静态资产(例如图像,CSS,JS) - 这是一个简单的常见模式,涉及检测属于此类别的请求并设置缓存时间(或者依赖于源服务器发送的缓存时间) 示例这是一种形式

2)HTML文档 - 这是一个很好的Magento解决方案中更复杂的部分.它对于在Varnish中缓存HTML文档以提高Magento性能至关重要.HTML文档生成是Magento服务器最昂贵(耗时)的事情.

缓存HTML文档的挑战来自个性化内容.

个性化内容和HTML文档

Magento和所有其他电子商务网站通过会话管理特定用户的状态.会话是该特定用户在您网站上的状态的记录.这包括以下内容:"Hello Bob" - 位于页面顶部"购物车中的4件事" - 每页上购物车的状态

这些是无法在用户之间共享的项目,如果发生这种情况会导致重大问题(我们称之为"会话泄漏").

如果HTML页面包含有关此人的身份以及购物车中的内容的个性化信息,我们如何缓存HTML页面?

实现此目的有两种主要方法:在页面加载后通过其他请求加载页面的个性化元素这里的常用实现方法是使用AJAX来请求个性化的页面元素利用技术将HTML文档的组件标记为可缓存的和其他的无法访问(或在用户之间无法共享).Varnish支持称为ESI(Edge Side Includes)的技术,该技术允许以不同方式缓存HTML文档的不同部分.

您的Varnish实施策略必须考虑用户个性化.

清漆的实施选项

Magento 1.X - Magento版本1中用于缓存HTML文档的最广泛使用的方法是名为Magento Turpentine(由Nexus提供)的开源产品.这是一个安装的插件(通过Magento Connect),它会自动将ESI标签添加到HTML文档中,以便Varnish可以缓存这些资源.Magento Turpentine安装/指南

Magento 2.X - 最新版本的Magento(目前处于测试阶段)支持Varnish作为其在生产中用于HTML缓存的推荐解决方案.这是一个好消息,Varnish是Magento的推荐选项,可以开箱即用,提高您的网站速度.

如何使Varnish和Magento运作良好

部署是一回事,一旦您实施了Varnish Magento解决方案,下一步就是了解它的表现如何.根据请求获取缓存命中率和详细日志的指标可能是一项挑战,因为它涉及部署一系列额外的基础架构(或者在一次性基础上进行手动日志收集时遇到困难).

我们最近构建了这个基础架构,将Varnish作为云中的服务运行(带有完整的日志/指标) - www.section.io - 将此作为您需要的Varnish和Magento项目取得实际成功的最重要因素不断调整您的实现来管理诸如URL中不同的查询字符串之类的东西(Hello google analytics"gclid"!),这会大大降低您的缓存命中率