Re: помогите понять логику кеширования и буферизации
teo
nginx-forum at nginx.us
Mon Jan 28 19:34:17 UTC 2013
Trurl Wrote:
-------------------------------------------------------
> Не могу ничего понять из документации.
>
> Допустим у меня вот такой набор:
> proxy_temp_path /var/lib/nginx/proxy 1 1;
> proxy_cache_path /var/lib/nginx/proxy/cache levels=1:1
> keys_zone=main_cache:256m inactive=42h max_size=5m;
Давайте я попробую объяснить, хотя на уровень гуру не претендую.
max_size=5m задает тот размер, до которого выхотите уменьшить размер своего
кеша, если в нем перестанет хватать памяти для новых запросов,
или до какого размера он опустится при новом старте, когда запустится
фоновый "загрузчик кеша".
Т.е. - сколько вы готовы "хранить вечно"
proxy_temp_path - задает путь, чтобы облегчить в вашей системе перемещение
кешируемых файлов, потому что именно такой метод использован в nginx.
И именно поэтому это должно быть на одной файловой системе, если хотите
чтобы это происходило мгновенно, а не в виде (copy $1 $2; remove $1);
Т.ч. после перемещения файлов ее размер должен быть равен нулю или близко
Вот примерно как это выглядит в реальности для
proxy_cache_path /var/cache/nginx/media_cache levels=2:2
keys_zone=media:8192m inactive=7d max_size=8000m;
proxy_temp_path /var/cache/nginx/proxy_temp 2 2;
4,0K client_temp
4,0K fastcgi_temp
5,2G media_cache --- место под кеш
44M proxy_temp --- место под временные файлы
4,0K scgi_temp
4,0K uwsgi_temp
5,2G итого
Как видим в temp_path нет "копии" тех 5 гиг, что теперь лежат в кеше.
А чтобы не помещать в кеш какие-то файлы, то для этого есть всего одна опция
proxy_no_cache
А уж какие значения вы туда подсунете - то и не будет кешироваться.
Правда желательно будет указать еще proxy_cache_bypass - с такими же
значениями, чтобы nginx не лез за ними в кеш
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,235634,235674#msg-235674
Подробная информация о списке рассылки nginx-ru