Re: Как nginx работает с kqueue

Igor Sysoev igor на sysoev.ru
Сб Сен 4 21:16:36 MSD 2010


On Sat, Sep 04, 2010 at 05:59:03PM +0400, ruslan usifov wrote:

> А как тогда?
> 
> Я как понимаю мастре процесс просто создает сокет, и являеться watchdog для
> своих детенков. Сооветсвенно в потомках этот сокет добавляеться в свой
> kqueue? А кто уж из рабочих процессов примет подключние определяеться ядром
> OS(в каком процессе всплывет запрос на accept)? А процессы nginx всетаки
> порождает через fork?

Да.

> PS: Почему вообще возник этот вопрос.  Все из за этого тикета в twisted(это
> такой фреймворк для python)
> http://twistedmatrix.com/trac/ticket/4387<http://twistedmatrix.com/trac/ticket/4387>.
> Откровенно говоря там по моему написана ерунда какая то. Вот я и задался
> вопросом а как же обрабатывает nginx запросы.

Насчёт ерунды не уверен, но то, что сокет можно передавать между родственными
процессами - это описано верно.

> 4 сентября 2010 г. 16:38 пользователь Igor Sysoev <igor at sysoev.ru> написал:
> 
> > On Sat, Sep 04, 2010 at 03:05:14PM +0300, Volodymyr Kostyrko wrote:
> >
> > > 04.09.2010 14:45, ruslan usifov wrote:
> > > > Приветствую:-))
> > > >
> > > > У меня небольшой вопрос по внутреностям nginx. Честно говоря не очень
> > > > понял в исходниках потому и спрашиваю(смотрел версию 0.7.65).
> > > > Меня интресует слудующее как nginx порождает вокер процессы? И как он
> > > > бореться с тем фактом что kqueue не наследуеться при fork?
> > > > Я видел в исходниках упоминание на rfork но это как я понял больше
> > > > относиться к реализации обработки через потоки, и у меня сложилось
> > > > впечатление что все таки nginx когда собираеться из портов использует
> > > > fork для порождения процессов
> > >
> > > Всё немного не так. Мастер процесс только принимает входящие и
> > > распределяет их между слэйвами. У каждого слэйва соответственно своя
> > > kqueue для своих запросов.
> >
> > Всё немного не так. Мастер процесс вообще не принимает входящие.
> >
> >
> > --
> > Игорь Сысоев
> > http://sysoev.ru
> >
> > _______________________________________________
> > nginx-ru mailing list
> > nginx-ru at nginx.org
> > http://nginx.org/mailman/listinfo/nginx-ru
> >

> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://nginx.org/mailman/listinfo/nginx-ru


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



Подробная информация о списке рассылки nginx-ru