Let’s talk about speed. Speed is important. Varnish is a synonym for speed. That far, that good. But am I really the only one who doesn’t get why it would be so important to be able to
PURGE 4000 objects a second?
Really, who the fuck cares? Wouldn’t it show a bigger problem if I regularly end up with the need of purging oh so many objects and my patience only lasts 1 goddamn second? The reason I got objects with a fat
TTL in my cache is that these objects are supposed to be valid for at least that long. So if I already determined that, why would I suddenly need to purge them and why would it all have to be done within the next half-second?
My point is, if I got so many objects to purge – every. freaking. second. – so many in fact that suddenly it matters to be able to purge 4000 a second instead of only 700 a second, why wouldn’t I set the
TTL lower and thus let them basically purge themselves? If you constantly got to purge objects I’d guess you should rethink how long you really want to cache them.
And to finally reveal my real agenda here: I strongly believe that professional users of Varnish (the ones who understand what RFC 2616 stands for and why it would be sensible to follow standards) would prefer real problems to be fixed instead of having the VAC purge faster than anybody, who knows what he is doing, deems necessary.
Yeah, you got that right. I’m complaining about a WONT-FIX bug-report from 4 years ago. Don’t you believe for a second that people forgot about it or accepted the decision. I welcome every bug-report holding you responsible for your decision. I just hope the accepted solution won’t be a cheap paragraph in the documentation stating: “We know what the RFC says and what the average Joe expects. We just don’t care.”
Sensible defaults matter.
Here’s for the lazy ones, the hasty readers: Of course I’m not talking about the speed of Varnish doing the
PURGE. Why on earth would there be a limit of 4000 purges a second in Varnish? After all it is not written in Java. It will purge as fast as you can throw
PURGE requests at it. No, this post is all about the
VAC. Using enterprisy crap and frameworks blown out of proportion to the point that you start wondering where did all this shit go wrong in the first place, and then, after kicking that stuff to the curb and writing it yourself, triumphantly claiming to have the fastest thingamyjig there is – that is no fucking achievement, it’s a late and very sad realization.
So there’s that.