ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 

  СТАТЬИ 


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


  ПРОГРАММЫ 



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














     АРХИВ :: Apache-Talk
Apache-Talk mailing list archive (apache-talk@lists.lexa.ru)

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

[apache-talk] =?KOI8-R?Q?=CB=CE=CF=D0=CB=C1_Stop_=C2=D2=CF=D5=DA=C5=D2=C1_=C9_P?==?KOI8-R?Q?roxyPass?=



On Fri, 7 Sep 2001, Dmitriy Beloslyudtsev wrote:

> On Fri, Sep 07, 2001 at 03:41:07PM +0400, Igor Sysoev wrote:
> > On Fri, 7 Sep 2001, Dmitriy Beloslyudtsev wrote:
> > 
> > > On Fri, Sep 07, 2001 at 12:37:07PM +0400, Igor Sysoev wrote:
> > > > On Thu, 6 Sep 2001, Dmitriy Beloslyudtsev wrote:
> > > > 
> > > > > Когда пользователь прерывает выдачу какой-либо cgi-программы нажав
> > > > > кнопку Stop в броузере, то httpd посылает этой cgi-программе SIGINT.
> > > > > Так бывает, когда cgi-программа была вызвана "напрямую". Если же
> > > > > использовался промежуточный хост (frontend), работающий в режиме
> > > > > ProxyPass, то работающая на backend cgi-программа ничего не получает
> > > > > и продолжает работать как ни в чем не бывало.
> > > > > Можно ли это вылечить? Хотелось бы чтобы ненужные cgi-программы
> > > > > обнаруживали такое событие и могли бы честно закончиться.
> > > > 
> > > > Вообще, судя по беглому коду mod_proxy в этом месте, при обрыве
> > > > соединения с клиентом mod_proxy закрывает соединение с бэкендом,
> > > > так что вроде бы разницы никакой.
> > > > Единственное, если ответ кэшируется, то он может быть получен полностью.
> > > 
> > > Уже разобрались. Это ошибка в коде mod_proxy, если кэширование выключено
> > > (а у нас стоит NoCache *), то нет выхода из цикла чтения (переменная ok
> > > не переназначается). Файл src/modules/proxy/proxy_util.c, в районе строки 
>594.
> > 
> > А почему это создавало проблему ? cgi очень медленно выдаёт ?
> > Потому что, по идее, после того, как клиент обрывает соединение,
> > mod_proxy может очень быстро считать весь ответ бэкенда.
> 
> Просто cgi-программы делают очень интенсивные вычисления и дают большой вывод.
> Пользователь сдуру не туда сунулся, увидел большую выдачу и нажал Stop.
> А cgi-программа продолжает работать и занимать процессора, которых не хватает.
> Тут-то ей и самое время помереть. А ей никто не говорил.
> Август кончился, начался сезонный пик активности, надо все крохи выжимать.

А кэшировать не пробовали ? Или всё уникально ?

Игорь Сысоев

=============================================================================
=               Apache-Talk@lists.lexa.ru mailing list                      =
Mail "unsubscribe apache-talk" to majordomo@lists.lexa.ru if you want to quit.
=       Archive avaliable at http://www.lexa.ru/apache-talk                 =



 




Copyright © Lexa Software, 1996-2009.