ПРОЕКТЫ 


  АРХИВ 


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: ошибка в nginx ?



On Wed, Jul 09, 2008 at 02:51:33PM +0400, Andrei Nigmatulin wrote:

> On Wednesday 09 July 2008 14:05, Igor Sysoev wrote:
> > On Wed, Jul 09, 2008 at 01:03:24PM +0400, Andrei Nigmatulin wrote:
> > > On Wednesday 09 July 2008 11:58, Gena Makhomed wrote:
> > > > On Wednesday, July 9, 2008 at 0:50:09, Andrei Nigmatulin wrote:
> > > > AN> Или перейти на tcp.
> > > >
> > > > а чем в такой ситуации может помочь переход на tcp?
> > > > в пределах localhost`а tcp ведь работает медленнее,
> > > > чем unix sockets - будет только больше 502 ошибок?
> > >
> > > tcp сокет вернет EINPROGRESS в этом месте, а значит соединение все-таки
> > > случится, но позже. В итоге 502 ошибок вообще не будет. Ну только если
> >
> > Когда backlog кончается, tcp сокет в этом месте обычно возвращает
> > ECONNREFUSED.
> 
> В linux точно не возвращает ECONNREFUSED - сервер просто не отвечает на SYN, 
> что дает соединению шансы установиться при очередном retransmittion.
> 
> > > бэкенду совсем плохо - появтся 504 после таймаута. А то, что tcp
> > > медленнее локальных сокетов вы сможете заметить только на тысячах или
> > > десятках тысяч rps. Зачем вам об этом вообще беспокоиться если php все
> > > равно съест 99.9% cpu ?
> > >
> > > > AN> Или отказаться от linux.
> > > >
> > > > зачем? при переполнении backlog`а будет точно такое же
> > > > поведение nginx`а и на других операционных системах...
> > >
> > > По крайней мере в BSD такой проблемы нет.
> >
> > Не уверен.
> 
> Ну по крайней мере так написано в приведенной выше ссылке. Это не правда ?

Если имеется ввиду
Notably, the BSDs don't send EAGAIN, as far as I can tell.
то это правда, поскольку EAGAIN действительно не возвращается.
Зато возвращается ECONNREFUSED (если я не ошибаюсь).


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



 




Copyright © Lexa Software, 1996-2009.