ESI阻塞还是非阻塞?

Cho*_*per 9 php caching varnish symfony esi

我正在计划我的缓存策略,我正在深入研究ESI以确定它是否符合我的需求.

今天出现了这些问题:

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

小智 4

带清漆的 ESI 始终串行执行。他们在用 varnish 3 改进 ESI 方面投入了大量的工作,但在这方面仍然没有任何改变。我还记得看到清漆工作人员的一些回应,他们说该功能在他们的愿望清单上,但实施起来很棘手。

现在为了实现并行,我想唯一的选择是自己实现该功能。

至于 Ajax 与 ESI,我想说,只要后端可以快速渲染,断点就会晚于 5 个 ESI。如果将 Ajax 用于网站的内容部分,那么 Ajax 总是有一个缺点,那就是 SEO 效果不佳。