ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Замена busylock'ам для proxy cach e и proxy store



Hello!

On Wed, Nov 30, 2011 at 04:53:17AM -0500, c0re wrote:

> Пробема поднималась неоднократно и у
> нас и у буржуев.
> Кто не понимает о чем речь - ищите по 'nginx
> busylocks'.
> 
> workaround для proxy_cache:
> 
> http{
>     proxy_cache_path /cache keys_zone=localcache:10m;
>     limit_zone perUri $uri 10m;
> }
> server {
>         location /remote/ {
>                 try_files $uri @fake @proxy-remote;
>         }
>         location @fake {
>                 root /notexists;
>         }
>         location @proxy-remote {
>                 limit_conn perUri 1;
>                 proxy_cache localcache;
>                 proxy_cache_valid any 999d;
>                 proxy_cache_key "remote$request_uri"; # тут
> пилить под свои задачи
>                 proxy_set_header Range ""; # обрезаем Range в
> этой секции, иначе не закэширует
>                 proxy_pass upstream;
>                 error_page 503 = @locked-remote;
>         }
>         location @locked-remote {
>                 # тут пилить под свои задачи.
> один из вариантов такой:
>                 proxy_buffering off;
>                 proxy_pass upstream;
>         }
>         # по необходимости плодим
> локейшены по образу и подобию (@fake можно
> оставить общим для всех)
> }
> 
> для удобства конфиг продублирован на
> http://pastie.org/private/q49fwnwruatcyvzxwbomcg
> 
> Для proxy_store то же самое, только без @fake и с
> правильным root в /remote/
> 
> Естественно это только концепт,
> который надо дальше пилить под свои
> задачи.
> Как это неудивительно - работает.
> Воистину, возможности nginx'а
> неисповедимы.
> Если есть вопросы - добро пожаловать.

К сожалению, это плохой, негодный дят^Wworkaround.

Таким образом лимитируется в том числе количество отдаваемых из   
кеша ответов.  Т.е. если у вас горячий файл на 4G (и он уже есть в
кеше), то первый клиент его будет качать из кеша, а остальные - 
пойдут на бекенд.

Maxim Dounin

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.