Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: проблема с fastcgi_cache_lock
Hello!
On Sat, Jun 16, 2012 at 01:22:38AM -0700, Konstantin Svist wrote:
> On 06/16/2012 12:47 AM, Maxim Dounin wrote:
> >Hello!
> >
> >On Fri, Jun 15, 2012 at 07:33:34PM -0700, Konstantin Svist wrote:
> >
> >>Nginx 1.2.0
> >>
> >>Конфиг:
> >>
> >>server {
> >> listen 8081;
> >> location / {
> >> proxy_read_timeout 500ms;
> >> proxy_pass http://localhost:8082;
> >> error_page 404 500 502 503 504 =200 @fallback;
> >> }
> >> location @fallback { echo "oops"; }
> >>}
> >>server {
> >> listen 8082;
> >> fastcgi_temp_path /dev/shm/nginx_fcgi_temp 1 2;
> >> fastcgi_cache_path /dev/shm/nginx_fcgi_cache levels=1:2
> >>keys_zone=mycache:500m max_size=5120m;
> >> fastcgi_cache_use_stale error timeout updating;
> >> fastcgi_cache_lock on;
> >> fastcgi_cache_key $request_uri;
> >> fastcgi_cache_valid 200 2h;
> >> fastcgi_cache_bypass $http_pragma $http_authorization;
> >> fastcgi_no_cache $http_pragma $http_authorization;
> >> fastcgi_cache mycache;
> >> location / {
> >> fastcgi_pass backend;
> >> }
> >>}
> >>
> >>
> >>Запускаю тест:
> >> ab -n5 -c5 'http://localhost:8081/?q=foobar'
> >>
> >>
> >>Результат:
> >> 1й запрос идёт на бэкенд, на обработку 45мс; остальные 4 получают
> >>"oops" после 500мс
> >>Вторая попытка:
> >> 1й запрос идёт на бэкенд, на обработку 37мс; 3 получают "oops"
> >>после 500мс; последний получает результат из кэша, но только после
> >>500мс
> >>
> >>
> >>
> >>Что происходит?
> >>Я думал что последние 4 должны получить не-"oops" результат после 45мс...
> >В идеале - да, в текущей реализации - после 500 ms или
> >fastcgi_cache_lock_timeout, что наступит раньше.
> >
>
> А долго ждать до верной реализации?
Верная реализация есть и сейчас. По оптимизации - no ETA, в
ближайших планах нет.
Maxim Dounin
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|