On Wed, Oct 15, 2014 at 09:30:12AM -0400, Jay LaPorte wrote: > It is with some surprise that I today discovered (through benchmarking with > `varnishlog`) that Varnish does not support fetching ESI requests in > parallel. I am in the process of developing an JSON API that makes heavy > use of ESI—a response may commonly contain hundreds of ESI tags to its > constituent parts—and if ESI requests are done serially, uncached (or even > partially uncached) responses take an eternity. (Our use case is such that > the individual parts of a request have a high cache hit rate, but the > requests themselves do not.) > From looking around the web, it seems that Varnish 4.0 did the preliminary > groundwork to make parallel ESI fetches possible, and that they are a > planned feature: > * https://www.varnish-cache.org/trac/wiki/Future_ESI > * > https://www.varnish-software.com/blog/varnish-40-qa-performance-vmods-ssl-ims-swr-and-more > * https://twitter.com/ruben_varnish/status/522323253076172800 > > I was wondering if there was any rough roadmap or ETA for implementing it > already in place, and if so, where I can track it's progress? If there is > not, who should I contact regarding it? (Allocating funds to Varnish in > order to help support this feature is not out of the question depending on > the specifics, and furthermore I'd be very happy to help test it if need > be.)
Hi. We (as in the core dev team) have discussed parallell ESI as a potential 4.1 feature. As it is now, we haven't decided on this since HTTP/2.0 needs to be catered for as well. I'd expect this to formalise a bit more on the next developer meeting in November. Currently you can perhaps hack/work around this by setting up Varnish as a backend to itself. Then the "inner" varnish can give you a slightly stale version (enable grace), while a background fetch is kicked off to renew the stored object. This should remove most of the extra latency, given that you in fact can cache the ESI subresources. Varnish Software (email: [email protected]) may be able to help you out if you are willing to pay for the parallell ESI feature. -- Lasse Karstensen Varnish Software AS _______________________________________________ varnish-misc mailing list [email protected] https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc
