nginx cache
Vasil Mikhalenya
bazilek на gmail.com
Пн Фев 29 12:44:43 UTC 2016
проблема была в следующем:
- user-agent: приходил в одном случае из 20 из-за специфики приложения
- origin ставил Vary: user-agent видимо, из-за ошибки конфигурации
2016-02-14 14:33 GMT+03:00 Vasil Mikhalenya <bazilek на gmail.com>:
> следующий раз проверю, удалив файл из кеша
> - для каждого 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
>
--
Best regards,
Vasil Mikhalenya
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20160229/b9827f11/attachment.html>
Подробная информация о списке рассылки nginx-ru