ПРОЕКТЫ 


  АРХИВ 


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: Мысли по поводу кэширов ания.



Hello!

On Sun, Nov 28, 2010 at 11:18:17AM +0300, Михаил Монашёв wrote:

> Здравствуйте.
> 
> Есть конфиг:
> 
>                 location / {
>                         ...
>                         proxy_pass              http://backend1;
>                         proxy_cache             optcache1;
> 
>                         error_page              404 500 502 503 504 = 
> @fallback;
>                 }
> 
>                 location @fallback {
>                         ...
>                         proxy_pass              http://backend2;
>                         proxy_cache             optcache1;
>                 }
> 
> Второй  proxy_cache  совершет  лишнюю работу. От неё можно избавиться,
> если  разделить  директиву  proxy_cache на две: первая читает из кэша,
> вторая  сохраняет  в  кэш.  Или  же  не проверять дважды один и тот же
> ключик кэша внутри одного запроса.

1) Вообще говоря, для подобных конфигураций существует 
proxy_next_upstream.  Понятно, что во многих случаях он не 
применим (в частности - из за отсутствия ограничения на количество 
попыток), но проблемы с двойной проверкой в кеше у него нет.

2) Стоимость второй проверки в кеше можно ощутимо снизить с 
помощью open_file_cache.

3) Вообще говоря, пока мы ходили на первый бекенд, в кеше ответ 
мог и появиться.  Так что совсем не факт, что вторая проверка - 
лишняя.

4) Второму proxy_cache можно сказать proxy_cache_bypass.  Это и 
будет то самое "разделение на две".  Но сейчас это не работает 
из-за ошибки в реализации.

Maxim Dounin

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


 




Copyright © Lexa Software, 1996-2009.