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