ПРОЕКТЫ 


  АРХИВ 


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 работает с kqueue


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: Как nginx работает с kqueue
  • From: ruslan usifov <ruslan.usifov@xxxxxxxxx>
  • Date: Sat, 4 Sep 2010 17:59:03 +0400
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:content-type; bh=Rjq6HLPAkyj5ZujAZstg7Dvz3K7rc3aSzzktSMHKNtY=; b=BoHYKCmYhsYfWiuwOzAewJLUwzQN6GOmRMQS8Xf4xTAZoNqItGGrfuiaf6E/TDC6/q UrLj8Dmu5nOBxi2rnwOwfPxnz0woyh1cFlEV3z3asgLzEqz24C7SnvtsG9AEb/1lj4TO D5Ea/YEXTLg0eiIK1GORDYI55KpGykSqDrP6I=
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=nsv4d9ljE2t2rFzuS8PCO0WN+rZmxmuFHke1FVJ3DFgQ8XrL45/fAFxZWSVOCc9tpI VCN1HKNcFPoEh/muRdJ1xk8LinyxVoJZkEbTJvIIpBcbIS0+muaJ3Ke4WLaKrGO4+ELP 41axWOPMGwZ7sZgn2nYw3Z2FlGLAzbnygpJuE=
  • In-reply-to: <20100904123827.GA31018@xxxxxxxxxxxxx>
  • References: <AANLkTimG_DHaqftDybY2Y9Y2Lu+9w3oy480pfYkSNFvq@xxxxxxxxxxxxxx> <4C8235FA.5010106@xxxxxxxxx> <20100904123827.GA31018@xxxxxxxxxxxxx>

А как тогда?

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

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


4 сентября 2010 г. 16:38 пользователь Igor Sysoev <igor@xxxxxxxxx> написал:
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@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.