Varnish HTTP Accelerator
"Varnish is a HTTP accelerator. A HTTP accelerator (often called Reverse Proxy) is an application that stores (caches) documents that have been requested over the HTTP protocol.
Based on certain criteria the next client requesting the document is either given the cached document, or a "fresh" document requested from a backend server. The purpose of this is to minimize the requests going to the backend server(s) by serving the same document to potentially many users."
Where Squid was the old-style, client side caching mechanism, Varnish is intended to be the new generation, server-side caching tool.
Varnish has a BSD license, and actually main Varnish developer is Poul-Henning Kamp, a (previous) FreeBSD core developer.
--
Contributors: SteffenPoulsen - 19 Sep 2006
Discussion
This tech looks very promising imho, and might be very useful in scaling some TWiki setups. If anybody decides to integrate this in their setup, feedback is very much appreciated.
--
SteffenPoulsen - 19 Sep 2006
Wow, thanks Steffen for digging that out. One question: how does it deal with content dependencies that once they fire invalidate a whole
bunch of cache entries? There might be a need for bi-directional communication btw the tires.
--
MichaelDaum - 20 Sep 2006
Depending accelleration demands, there might be problems in serving stale/invalid date of course.
Basically, if you can get TWiki to signal what is invalidated, Varnish can pick it up through its scripting language. I am not aware of any mechanism that is able to signal this in TWiki, though.
--
SteffenPoulsen - 23 Sep 2006
How about a plugin using the
AfterSaveHandler and
AfterAttachmentSaveHandler?
--
MartinCleaver - 23 Sep 2006
As an example a challenge lies in figuring out which
%SEARCH% renderings are affected by a content update - ideally without actually running/diff'ing all searches in all webs.
If the check can be made "smart" (fast) I don't see any problem in using a plugin handler, but one should of course consider for how long one would like to leave a user "hanging".
This discussion is not really related to Varnish and were better had in a general topic - perhaps some thoughts are already in Codev?
--
SteffenPoulsen - 24 Sep 2006
These topics discuss the issue of stale or invalidated content already:
CacheControlHeaders,
BrowserAndProxyCacheControl and
BrowserCacheFixes.
Poul-Henning wrote me today stating that he was available for questions regarding Varnish, should we have any. So feel free to ask away; you can reach him through his homepage at
http://people.freebsd.org/~phk/
.
--
SteffenPoulsen - 27 Sep 2006
A general caching service has been proposed at
TWikiCache.
--
MichaelDaum - 28 Feb 2007