António P. P. Almeida
December 12, 2011 05:28AM
On 12 Dez 2011 10h00 WET, mdounin@mdounin.ru wrote:

Hello again,

> The default for proxy_cache_lock_timeout is "5s".

Yes indeed. There's a 5000 there. My fault.

>> proxy_pass http://my_upstream;
>> }
>>
>> 1. Request for /foobar comes in at t=0
>>
>> 2. Additional request for /foobar comes in at t=200ms
>>
>> 3. Additional request for /foobar comes in at t=220ms
>>
>> Requests 2 and 3 are queued by the cache manager. Request 1 is
>> forwarded upstream. When a response arrives, requests 2 and 3 are
>> served.
>
> In the above scenario, request (2) will be served at t=700ms
> (500ms after request) and request (3) will be served at t=720ms.
> This is because right now requests use periodic timer (each 500ms)
> to see if response arrived.

Ok. This is harcoded right now, here I think:

+ if (wait) {
+ ngx_add_timer(ev, (timer > 500) ? 500 : timer);
+ return;
+ }

Can we not make this a user defined setting? E.g.:

proxy_cache_lock_request_period <value ms>; # defaults to 500

I don't know if making this period user defined will have consequences
down the line in other cache manager code.

Just an idea.

Thanks,
--- appa






> If a response doesn't arrive at all, at 5s200ms (after
> proxy_cache_lock_timeout) request (2) will be allowed to go to
> upstream, and at 5s220ms request (3) will be allowed to go to
> upstream. That is, proxy_cache_lock_timeout is a per-request
> safeguard timeout.
>
>> For the moment the cache entries that are updating will use the
>> current 'proxy_cache_use_stale updating' setting.
>
> Yes.
>
> Maxim Dounin
>
> _______________________________________________
> nginx-devel mailing list
> nginx-devel@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-devel

_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

[PATCH 0 of 5] cache patches

Maxim Dounin 1807 December 11, 2011 10:06AM

[PATCH 1 of 5] Cache: obsolete code removed

Maxim Dounin 734 December 11, 2011 10:06AM

[PATCH 2 of 5] Cache: handling of cache files with long headers

Maxim Dounin 916 December 11, 2011 10:06AM

[PATCH 3 of 5] Cache: only complain on long locked entries

Maxim Dounin 919 December 11, 2011 10:06AM

[PATCH 4 of 5] Cache locks initial implementation

Maxim Dounin 883 December 11, 2011 10:06AM

[PATCH 5 of 5] Cache lock support for fastcgi, scgi, uwsgi

Maxim Dounin 732 December 11, 2011 10:08AM

Re: [PATCH 0 of 5] cache patches

fanboy 996 December 11, 2011 07:00PM

Re: [PATCH 0 of 5] cache patches

Maxim Dounin 792 December 12, 2011 04:54AM

Re: [PATCH 0 of 5] cache patches

António P. P. Almeida 769 December 11, 2011 07:10PM

Re: [PATCH 0 of 5] cache patches

Maxim Dounin 742 December 12, 2011 05:02AM

Re: [PATCH 0 of 5] cache patches

António P. P. Almeida 718 December 12, 2011 05:28AM

Re: [PATCH 0 of 5] cache patches

Maxim Dounin 778 December 12, 2011 05:36AM

Re: [PATCH 0 of 5] cache patches

António P. P. Almeida 1044 December 13, 2011 02:42PM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 102
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 500 on July 15, 2024
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready