Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Не работае т proxy_cache_use_stale ?
On Wed, May 06, 2009 at 03:18:35PM +0300, Flam Boyant wrote:
> Вот какой еще заметил эффект - если из кеша берется несвежий файл (скажем
> если бекенд дает 500 ошибку) - в логах это отображается почему то как
> получение файла с бекенда.
> Пример.
> Логи описаны как
>
> log_format main '$remote_addr - $remote_user [$time_local] "$request" '
> '"$status/$upstream_status" $body_bytes_sent '
> '"$host" "$upstream_addr/$upstream_response_time"';
>
> Запрашиваем файл
> 192.168.7.6 - - [06/May/2009:14:16:41 +0300] "GET /cgi/test.cgi HTTP/1.0"
> "200/200" 23 "www.xxx.net" "127.0.0.1:8000/0.245"
>
> Дальнейшие запросы в течении 5 минут достают его из кеша -
> 192.168.7.6 - - [06/May/2009:14:16:43 +0300] "GET /cgi/test.cgi HTTP/1.0"
> "200/-" 23 "www.xxx.net" "-/-"
> 192.168.7.6 - - [06/May/2009:14:16:53 +0300] "GET /cgi/test.cgi HTTP/1.0"
> "200/-" 23 "www.xxx.net" "-/-"
> 192.168.7.6 - - [06/May/2009:14:16:53 +0300] "GET /cgi/test.cgi HTTP/1.0"
> "200/-" 23 "www.xxx.net" "-/-"
>
> То есть $upstream_status, $upstream_addr и $upstream_response_time равны
> "-".
> Далее ждем 5 минут, ломаем test.cgi и снова запрашиваем файл.
> Он достается из кеша, но в логах видим вот что -
>
> 192.168.7.6 - - [06/May/2009:14:24:25 +0300] "GET /cgi/test.cgi HTTP/1.0"
> "200/200" 23 "www.xxx.net" "127.0.0.1:8000/0.040"
> 192.168.7.6 - - [06/May/2009:14:24:26 +0300] "GET /cgi/test.cgi HTTP/1.0"
> "200/200" 23 "www.xxx.net" "127.0.0.1:8000/0.041"
> 192.168.7.6 - - [06/May/2009:14:24:26 +0300] "GET /cgi/test.cgi HTTP/1.0"
> "200/200" 23 "www.xxx.net" "127.0.0.1:8000/0.040"
> 192.168.7.6 - - [06/May/2009:14:24:27 +0300] "GET /cgi/test.cgi HTTP/1.0"
> "200/200" 23 "www.xxx.net" "127.0.0.1:8000/0.040"
>
> Если починить test.cgi и запросить его снова - все Ок, файл запрашивается с
> бекенда и снова кешируется -
> 192.168.7.6 - - [06/May/2009:14:24:36 +0300] "GET /cgi/test.cgi HTTP/1.0"
> "200/200" 23 "www.xxx.net" "127.0.0.1:8000/0.055"
> 192.168.7.6 - - [06/May/2009:14:24:37 +0300] "GET /cgi/test.cgi HTTP/1.0"
> "200/-" 23 "www.xxx.net" "-/-"
> 192.168.7.6 - - [06/May/2009:14:24:37 +0300] "GET /cgi/test.cgi HTTP/1.0"
> "200/-" 23 "www.xxx.net" "-/-"
>
> Это баг или фича?
> Если фича,то можно как нибудь отображать факт неработоспособности бекенда?
Да, пока факт кэширования не отображается.
--
Игорь Сысоев
http://sysoev.ru
|