proxy_cache

Richard Kearsley Richard.Kearsley at m247.com
Tue Apr 26 00:13:01 MSD 2011


Ideal situation is initiate one request to back-end then for each additional request start sending the (still incomplete) cached file at the same rate it's being downloaded into the cache (I cache after just 1 hit)

I'm talking video files 400-500mb crossing the Atlantic.... Not fast at all and can get seriously congested once it starts getting the same file over and over in this "first cache" syndrome

Anything I can do to help/test please let me know :)
Keep up the good work

Sent from my iPhone

On 25 Apr 2011, at 19:59, Ryan Malayter <malayter at gmail.com> wrote:

> On Sun, Apr 24, 2011 at 9:22 PM, Richard Kearsley
> <Richard.Kearsley at m247.com> wrote:
>> Thanks, I already set "proxy_cache_use_stale updating"
>> But what if the file is completely new..? there is no stale file to serve
> 
> Ah, I see... the first request for a new file would put it into the
> updating state, but there would be no stale version to serve.
> 
> I'm not sure what happens in that case, but I would suspect that all
> of those requests go to the back end. This should be a very
> short-lived condition though. In the majority of the cases we're
> talking milliseconds, unless the files are really large or the
> back-end is really slow.
> 
> Say you had a 50 MB video file and your back-end was something like
> Amazon S3... I could see many many requests for that file coming in at
> the same time the first was still processing. I'm not sure what the
> best thing to do in that case would be.
> 
> The options, I think, would be:
> 1) return a 404 (or some temporary error code) until the cache is
> primed (that doesn't seem like good default behavior)
> 2) block all other requests until the first is finished (also seems
> problematic, especially if the first request is taking forever)
> 3) pass all requests to the back-end until there is a valid cache entry
> 
> I suspect nginx chooses option #3. Are you saying that you want to do
> #2? Or something else entirely?
> 
> Varnish seems to do #2 by default:
> http://www.varnish-cache.org/docs/2.1/tutorial/handling_misbehaving_servers.html
> 
> -- 
> RPM
> 
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://nginx.org/mailman/listinfo/nginx



More information about the nginx mailing list