Varnish 3.0 changes - ESI and gzip

Finally Varnish 3.0 is feature complete and we're about to roll out a beta. All in all we've done quite a lot of testing on this release and the code seems to be quite stable. We've been testing with some rather busy websites and both speed and stability is very good.

I'm working on a document that describes the changes that have occurred in VCL. Whilst working on the document I thought I'd supply a series of short blog post describing each change. So, here is the first change.

ESI and gzip changes.

In Varnish Cache 2.1 you would do ESI-processing on your object by calling "esi" in vcl_fetch. Now, we've introduced a set of boolean flags on the beresp object. In vcl_fetch you can set do_esi if you want your object to be esi-processed. You also have the do_gzip and do_gunzip flags. I guess both are rather self-explanatory. 

ESI and gzip in Varnish Cache 3.0

ESI in Varnish Cache is really, really awesome. The awesome part is that is works with compressed objects - almost without any decompression. 

When an object is processed for ESI it is temporarily decompressed and a list of the referenced fragments is compiled. From now on, when that object is delivered, Varnish only spits out a bunch of compressed fragments. So, the delivery is done without any actual decompression or compression - given that the objects are all stored compressed in Varnish. Cool ehh?

Topics: Varnish Cache, Varnish Software

5/3/11 1:00 PM by Per Buer

All things Varnish related

The Varnish blog is where the our team writes about all things related to Varnish Cache and Varnish Software...or simply vents.


Recent Posts

Posts by Topic

see all

Varnish Software Blog