Welcome! Log In Create A New Profile

Advanced

Re: Мысли по поводу кэширования.

Maxim Dounin
November 28, 2010 06:40AM
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@nginx.org
http://nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

Мысли по поводу кэширования.

Михаил Монашёв November 28, 2010 03:20AM

Re: Мысли по поводу кэширования.

Maxim Dounin November 28, 2010 06:40AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 176
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready