Re: Проблемы при порче дискового кеша

Dmitriy Timokhin avanie at gmail.com
Tue Oct 13 16:43:53 MSD 2009


Спустя несколько часов нашёл воркэраунд: keepalive_requests 1;

2009/10/13 Dmitriy Timokhin <avanie at gmail.com>:
> Здравствуйте!
>
> Столкнулся с таким поведением: если кто-то недобрый попортит лежащий в
> proxy_cache файл, отрезав у него конец, то при отдаче ответа из этого
> файла nginx отдаёт столько, сколько в этом файле есть, а потом
> подвешивает соединение: не обрывает, не закрывает, но и ничего в него
> не пишет.
>
> Проблема воспроизводится на nginx-0.7.62 (на котором она и была
> обнаружена) и на 0.8.19. Конфиг (тривиальный) и дебаг-лог от 0.8.19
> прилагаю. Система -- Debian Lenny, ядро 2.6.26, amd64.
>
> Комментарии к дебаг-логу: до его начала запрос /crossdomain.xml лёг в
> proxy_cache, потом от лежащего в proxy_cache файлика вручную отгрызли
> последние несколько десятков байт. Лог начинается там, где я повторяю
> запрос wget'ом. После строчки 2009/10/13 14:54:52 [debug] 8060#0:
> epoll timer: 64997 wget уходит в цикл select-таймаут-select-таймаут... В
> 14:54:59 я прибиваю wget.
>
> Кстати, на том сервере, на котором проблема проявилась и начала
> мешать, ничего, кроме nginx не работает, и на первый взгляд кроме
> самого nginx вот так вот попортить файл некому, но случается это
> слишком редко, чтобы можно было отловить что-то определённое.
>
> Заранее спасибо.
>


More information about the nginx-ru mailing list