2

我在后端前面使用 Varnish。

因为后端有时很慢,所以我启用了宽限模式来为客户端提供陈旧的内容。然而,在宽限模式下,仍然有一个用户需要去后端并且有一个非常糟糕的用户体验。

Varnish 是否可以在刷新缓存的同时为所有用户提供过时的内容?

我看到有人建议使用 cron 作业或脚本来刷新本地主机上的缓存。这不是一个优雅的解决方案,因为我们网站上有太多的 URL,手动刷新每个 URL 会非常困难。

我知道根本问题出在后端,我们需要在那里解决问题。但在短期内,我想知道我是否可以提高清漆层的响应时间?

4

2 回答 2

0

是的,可以向所有用户提供过时的内容(在指定的时间内)。您应该尝试使用优雅和圣人模式来设置适合您的应用程序的适当时间限制。

在此处阅读更多信息:https ://www.varnish-cache.org/docs/3.0/tutorial/handling_misbehave_servers.html

于 2014-03-15T22:21:25.387 回答
0

您可以在 Varnish 3 中通过使用重启和辅助进程来执行此操作(在一般情况下)。

此处描述了您如何为其编写 VCL:(披露:我自己的博客)

http://lassekarstensen.wordpress.com/2012/10/11/varnish-trick-serve-stale-content-while-refetching/

它相当复杂,但在您有一个刚刚过期的现有对象时有效。在(未来的)Varnish 4 中将会有额外的 VCL 钩子,这将使这些技巧更容易。

于 2013-08-22T12:52:51.227 回答