best way to not cache large files?
moseleymark at gmail.com
Mon Mar 14 23:51:19 CET 2011
On Mon, Mar 14, 2011 at 3:30 PM, Chris Hecker <checker at d6.com> wrote:
> Anybody have any ideas? They're not all the same mime type, so I think
> putting them in an uncached dir is better if there's no way to figure it out
> in vcl.
> On 2011/03/13 07:26, AD wrote:
>> i dont think you can check the body size (at least it seems that way
>> with the existing req.* objects ). If you know the mime-type of the
>> file you might just be able to pipe the mime type if that works for all
>> file sizes ?
>> I wonder if there is a way to pass the req object into some inline C
>> that can access the body somehow?
>> On Sat, Mar 12, 2011 at 11:28 PM, Chris Hecker <checker at d6.com
>> <mailto:checker at d6.com>> wrote:
>> I have a 400mb file that I just want apache to serve. What's the
>> best way to do this? I can put it in a directory and tell varnish
>> not to cache stuff that matches that dir, but I'd rather just make a
>> general rule that varnish should ignore >=20mb files or whatever.
I was asking about the same thing in this thread:
Check out Tollef's suggestion towards the end. That's what I've been
using. The one drawback is that it's still fetched by varnish
*completely* in the first, not-yet-restarted request, which means that
a) you're fetching it twice; and b) it'll still stored albeit
momentarily, so it'll evict stuff if there's not enough room.
Before that, I wasn't sending any reqs for anything matching stuff
like .avi or .wmv to varnish (from an nginx frontend).
It'd be kind of neat if you could do a call-out and for anything
matching a likely large file (i.e. has extension matching .avi, .wmv,
etc), and do a HEAD request to determine the response size (or
whatever you wanted to look for) before doing the GET.
More information about the varnish-misc