Re: Странности с proxy buffering и трансфером файлов больше 1ГБ
Maxim Dounin
mdounin на mdounin.ru
Пт Ноя 18 08:07:57 UTC 2011
Hello!
On Fri, Nov 18, 2011 at 01:12:45AM -0500, Dr.Virus wrote:
> Присоединяюсь к вопросу. Аналогичная
> ситуация, но proxy_buffering не включен.
> FreeBSD 8.2, nginx 1.0.5, apache-itk 2.2.17
Как уже было сказано, proxy_buffering включён по умолчанию.
Тот факт, что nginx буферизирует на диск не более 1G - объясняется
значением по умолчанию для proxy_max_temp_file_size.
То, что "nginx перестаёт отдавать контент" - скорее всего связано
с тем, что после того, как nginx "упирается" в
proxy_max_temp_file_size - он долго ничего не читает от бекенда
(пока не отдаст весь тот гигабайт, скопившийся во временном
файле). А бекенд за это время успевает решить, что клиент (nginx)
слишком медленный, и закрывает соединение по таймауту.
Варианты решения:
1. Увеличить proxy_max_temp_file_size, чтобы ответ влезал
полностью.
2. Уменьшить proxy_max_temp_file_size, чтобы задержка с точки
зрения бекенда была меньше.
3. Увеличить таймаут на бекенде.
Maxim Dounin
Подробная информация о списке рассылки nginx-ru