ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: reading upstream status line



On Thu, 28 Apr 2005, Zherdev Anatoly wrote:

В error_log'e получаю следующие строки:

upstream closed prematurely connection while reading upstream status
line

Хочется поподробнее узнать, что понимается под status line и может ли
возникнуть такая ситуация если был запрошен php, скрипт который
отвалился по max_execution_time (или по чему-то подобному, например
max_input_time). Или это надо лечить в настройках nginx ?

Status line  - это "HTTP/1.0 200 OK" или что-то подобное.
Время ожидания ответа задаётся директивой proxy_read_timeout.

"upstream closed prematurely connection while reading upstream status line"
означает что апстрим закрыл соедиение до того, как была передана
вся status line. Обычно это означает, то вообще ничего не было передано.

Собственно точно известно, что в этом случае выполняется php скрипт,
который теоретически может висеть довольно долго, а хочется дать ему
такую возможность.

Нужно увеличить proxy_read_timeout у nginx и max_execution_time у php.

И еще вопрос из той де оперы. В ngx_http_proxy_upstream.c

есть кусок

   if (rev->timedout) {
       ngx_http_proxy_next_upstream(p, NGX_HTTP_PROXY_FT_TIMEOUT);
       return;
   }

то есть в случае такой ошибки идет на следующий апстрим. Если например
глобально поменять значение rev->timedout , то на какие еще операции
помимо ожидания статуса это может повлиять и какой ручкой это меняется ?

rev->timedout - это флаг у события. Он включается, если по истечении
таймаута, поставленного на событие, само событие не пришло (в данном
случае, не появились данные для чтения). Этот флаг не привязан к
конкретной операции (типа ожидания статуса и тому подобное). Крутить
ручками его не нужно.


Игорь Сысоев
http://sysoev.ru




 




Copyright © Lexa Software, 1996-2009.