What we object to specifically was that hit_for_pass is returned when (beresp.ttl <= 0). Which is true not just for things like 401, but also 500 and 503. My primary objection is the 503.

Like Andreas says, it possible to get a 500 or 503 on a page either due to load or some temporary error, where the next request could result in a perfectly cacheable page. But with the hit_for_pass in place, all workers blocking on that URL before then will just go through to the backend en-masse for the next two minutes. Especially with a 503, which most probably means the backend isn't coping very well due to load, and I'd hate to see an error like that cause even more load on a backend.

I think the default.vcl should be more conservative, and looking at all the status codes other than the ones deemed cacheable by default, I can only think of 401 and 403 as needing a hit_for_pass.

Cheers,

        Rogier/DocWilco

On Tue, 23 Aug 2011, Andreas Plesner Jacobsen wrote:

I was just going through the docs, updating examples to 3.0 syntax.

I fell over something that bothered me:

https://www.varnish-cache.org/docs/trunk/faq/general.html#troubleshooting

Has a section on increasing hit_for_pass ttl. I discussed rewriting this
section with DocWilco on irc, and we came to the conclusion that the current
default vcl may not be completely sane. For example, it looks like a 500 will
cause varnish to hit_for_pass for the next two minutes, even though the next
request could result in a nice cacheable 200.

Any ideas? Was this already considered when writing the default?

--
Andreas

_______________________________________________
varnish-dev mailing list
[email protected]
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-dev


_______________________________________________
varnish-dev mailing list
[email protected]
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-dev

Reply via email to