ESI阻塞还是非阻塞?

时间:2012-11-26 03:03:09

标签: php caching symfony varnish esi

我正在计划我的缓存策略,我正在挖掘ESI以确定它是否符合我的需求。

今天出现了这些问题:

  • 每个包含是以串行还是并行方式执行的?假设我有其中的5个:{% render '...' with {}, {'standalone': true} %}。据我所知,生成的页面必须等待所有页面,但是它需要的时间是否与包含的最慢页面类似,或者它是否与所有包含的总和相似?
  • 如果答案是'连续',有没有办法将其变为并行?
  • 我最好只使用Ajax用于网站的用户特定部分吗?在哪种情况下你会选择其中一种?

1 个答案:

答案 0 :(得分:4)

ESI with varnish总是以串行方式执行。他们在使用清漆3改进ESI方面做了大量工作,但在这方面仍然没有变化。我还记得看到一些清漆工作人员的回复说这个功能在他们的愿望清单上,但实施起来很棘手。

现在我想制作并列,我想唯一的选择就是自己实现这个功能。

至于Ajax vs ESI我会说断点比5 ESI晚,只要它们可以由你的后端快速渲染。如果用于网站的内容部分,Ajax总是存在不良搜索引擎优化的缺点。