nginx cache

Vasil Mikhalenya bazilek на gmail.com
Вс Фев 14 11:33:50 UTC 2016


следующий раз проверю, удалив файл из кеша
- для каждого proxy_cache_path по одному локейшену, кроме nginx никто с ним
ничего не делает
- т.к. воспроизводится на разных серверах, склонен считать, что проблема не
в fs

2016-02-13 5:16 GMT+03:00 Maxim Dounin <mdounin на mdounin.ru>:

> Hello!
>
> On Fri, Feb 12, 2016 at 06:38:08PM +0300, Vasil Mikhalenya wrote:
>
> > проблема все еще воспроизводится с таким конфигом,
> >
> >     location / {
> >         proxy_pass http://origin.example.com;
> >         proxy_set_header Host       $proxy_host;
> >         proxy_cache_lock on;
> >         proxy_cache_lock_age 1d;
> >         proxy_cache_lock_timeout 1d;
> >         proxy_cache_revalidate on;
> >         proxy_cache_use_stale updating;
> >         proxy_cache_key "$uri";
> >         add_header Cache $upstream_cache_status;
> >         add_header X-ID  "{{ ansible_hostname }}";
> >     }
> >
> > за пару часов nginx просто съедает >1Tb локального диска, помогает только
> > остановка nginx, очистка tmp кеша, запуск nginx, иногда делать это нужно
> > несколько раз
> >
> > в логах в этот момент
> >
> > 2016/02/11 05:08:42 [crit] 9777#9777: *54423736 cache file
> > "/var/lib/nginx/cache/c1/9c9de47f28ebc598e526af36d402e8f4" has too long
> > header, client: 67.11.37.88,
> > 2016/02/11 05:08:44 [crit] 9777#9777: *54423724 cache file
> > "/var/lib/nginx/cache/c1/9c9de47f28ebc598e526af36d402e8f4" has too long
> > header, client: 67.11.37.88,
> > 2016/02/11 05:08:44 [crit] 9777#9777: *54423726 cache file
> > "/var/lib/nginx/cache/c1/9c9de47f28ebc598e526af36d402e8f4" has too long
> > header, client: 67.11.37.88,
> > 2016/02/11 05:08:44 [crit] 9777#9777: *54423729 cache file
> > "/var/lib/nginx/cache/c1/9c9de47f28ebc598e526af36d402e8f4" has too long
> > header, client: 67.11.37.88,
> > 2016/02/11 05:08:44 [crit] 9777#9777: *54423737 cache file
> > "/var/lib/nginx/cache/c1/9c9de47f28ebc598e526af36d402e8f4" has too long
> > header, client: 67.11.37.88,
>
> Судя по логам, у вас в кеше откуда-то взялся мусор.  От этого
> перестаёт работать "proxy_cache_use_stale updating" (потому что
> отдавать - нечего), и proxy_cache_lock тоже не работает (потому
> что ресурс не новый, и соответственно обработка другая).  В
> результате имеем то, что имеем - множество запросов идут
> одновременно на бекенд.
>
> Разбирайтесь, откуда у вас в кеше то, что там лежит.  Варианты на
> вскидку:
>
> - кто-то положил туда ответ с большим заголовком через другой
> location, использовав большой proxy_buffer_size;
>
> - файловая система приказала долго жить.
>
> --
> Maxim Dounin
> http://nginx.org/
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru на nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>



-- 
Best regards,
Vasil Mikhalenya
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20160214/3eee414c/attachment.html>


Подробная информация о списке рассылки nginx-ru