проблема была в следующем: - user-agent: приходил в одном случае из 20 из-за специфики приложения - origin ставил Vary: user-agent видимо, из-за ошибки конфигурации
2016-02-14 14:33 GMT+03:00 Vasil Mikhalenya <[email protected]>: > следующий раз проверю, удалив файл из кеша > - для каждого proxy_cache_path по одному локейшену, кроме nginx никто с > ним ничего не делает > - т.к. воспроизводится на разных серверах, склонен считать, что проблема > не в fs > > 2016-02-13 5:16 GMT+03:00 Maxim Dounin <[email protected]>: > >> 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 >> [email protected] >> http://mailman.nginx.org/mailman/listinfo/nginx-ru >> > > > > -- > Best regards, > Vasil Mikhalenya > -- Best regards, Vasil Mikhalenya
_______________________________________________ nginx-ru mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx-ru
