Re: fastcgi cache use stale "updating" — improvement suggestion
Maxim Dounin
mdounin at mdounin.ru
Thu Sep 11 13:42:49 UTC 2014
Hello!
On Wed, Sep 10, 2014 at 03:27:10PM -0400, nanochelandro wrote:
> Maxim Dounin Wrote:
> > nginx needs a client request to be able to request a
> > resource from a backend and to save it to the cache.
>
> I'm afraid my explanation wasn't clear enough.
> There's no need to make nginx able to make requests to fastcgi on it's own
> initiative.
>
> How it works today:
> A client makes a request. Nginx sees the cache has expired and issues a
> request to fastcgi. It takes some time and client is patiently *waiting*.
> Finally, after nginx gets a response from fastcgi app, it stores it in cache
> and sends it to the client.
>
> How it can be improved:
> A client makes a request. Nginx sees the cache has expired and issues a
> request to fastcgi. But nginx doesn't wait for fastcgi response, and
> *immediately* responds to the client with *stale* cache contents (if it
> exists). Client is like "whoa, that was fast!". And later, eventually, nginx
> gets a response from fastcgi app and updates cache.
Uhm, it looks like I wasn't clear enough. What you suggest is
perfectly understood, thanks (and I believe there is even an
enhancement ticket in trac about this). The problem is that nginx
needs a request object (and a connection object) to get/cache a
response, and returning a stale cached response means the request
object will be used to send the cached response.
--
Maxim Dounin
http://nginx.org/
More information about the nginx
mailing list