couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Zachary Zolton <>
Subject Re: Couch and Varnish
Date Mon, 08 Nov 2010 16:17:25 GMT
Drat! If only Varnish supported Etags...

If you don't wanna use time-based expiry, you could probably craft a
custom-built solution where you watch the _changes feed and explicitly
purge URLs using a tool such as Thinner:

Of course, you'd be stuck with manually tracking the types of URLs to
purged, so I haven't been too eager to try it out yet...


On Sun, Nov 7, 2010 at 1:22 PM, Adam Kocoloski <> wrote:
> Hi Karel, the last time I looked into this I came to the same conclusions as you have
here.  Regards,
> Adam
> On Nov 7, 2010, at 5:28 AM, Karel Minařík wrote:
>> Hello,
>> I'd like to ask if anyone has some experience to share regarding accelerating Couch
with Varnish. I think lots of us are doing it, but can't find too much info around.
>> Originally, I thought it would be possible to use ETags with some proper Varnish
configuration (eg. "accumulate" concurrent requests and pass only one to the backend, etc),
but that seems not to be possible, since Varnish does not pass ETags to the backend [].
>> As I understand it now, the only way how to cache Couch's response would be with
time-based caching, and either using the cached response until it auto-expires, or expire
the cached response via PURGE commands.
>> Of course, it would be possible and technically trivial to send purge requests via
the _changes feed or via the "update_notification" mechanism. As I see it, the tricky part
would be to know which objects to purge, based on individual document changes. Because not
only single documents, but also aggregated view results or fulltext queries would get cached.
Of course, "there are two hard thing in computer science ...".
>> Has anyone put any thoughts/work into this?
>> Thanks,
>> Karel

View raw message