Question about proxy cache when it expires
zhang.libing at gmail.com
Wed May 13 05:22:47 MSD 2009
2009/5/12 Igor Sysoev <is at rambler-co.ru>
> On Tue, May 12, 2009 at 10:38:04AM +0200, J?r?me Loyet wrote:
> > Hello igor,
> > I have a question about the cache behaviour in proxy mode.
> > I have nginx in front head which redirect to an apache back end. Nginx
> > caches eveything for M minutes.
> > If I have a large number of requests for the same page and this page
> > is cached : nginx returns the cached page ... no problems
> > After M minutes, the cached page expires
> > The first request coming after the expiration makes nginx to ask the
> > backend for refresh
> > When nginx receives the backend fresh response, it's saved to cache
> > and then nginx serves the fresh cached page
> > But what happen between the start of the request to the backend and
> > the end of the response from the backend ? (let's assume that the
> > backend serves the page in 5s ... and in 5s I can have a lot of
> > request to this page).:
> > - Are the request queued waiting for the backend response ?
> > - Every request makes try to refresh the cache from the backend ? (in
> > this case, I have multiple request for the same page to the backend
> > ... I can have a burst of request and my apache can be overflowed by
> > request -- that's why I'm using nignx with cache).
> > - Do the requests serve the cached page even if it's expired until the
> > backend response has been received ?
> > - Maybe something else :)
> Currently all requests which found that a cached response expired
> are proxied to backend. I plan to implement busy locks to pass the single
> request and leave others to wait the response up to specified time.
> Igor Sysoev
The time you enjoy wasting is not wasted time!
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the nginx