ПРОЕКТЫ 


  АРХИВ 


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: Процессная модель


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: Процессная модель
  • From: "AlexyFrost" <nginx-forum@xxxxxxxx>
  • Date: Thu, 27 Feb 2014 13:22:39 -0500
  • Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=selenium.jlkhosting.com; s=x; h=Date:Sender:From:References:In-Reply-To:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To; bh=2VrL7LnC4NhRee/mdAgNRBEoSNKgI/OYhAgNJOQLntg=; b=fJ+h+BKQv9rk/pqio5dq/qSeG8naHRvv0fK6rg57EwIm9SrpbGYZbKjTO7g+llfYqflITDygplYlNoxef67jik2Jl/N8CeCMQPx+F9ULPHtRZzjhGf2JrPDQ1zx9/a6uZ5JQjyrj4tmhjuXBtk3KSNTjeOKKjJf44AH/QC6qU5w=;
  • In-reply-to: <530F067E.1090102@citrin.ru>
  • References: <530F067E.1090102@citrin.ru>

Anton Yuzhaninov Wrote:
-------------------------------------------------------
> On 02/26/14 03:17, AlexyFrost wrote:
> Мусора в том, что наследуется нет.
> 
> listen socket нужен.
> других сокетов, открытых в мастере не должно быть.
> 
> Обработчики сигналов AFAIK переопределяются, если нужно.

Вот об этом я и говорил: с использованием fork() воркер попадает в сильную
зависимость от того, что должно и не должно быть инициализировано в мастере,
т.е., какие контр-действия придётся ему делать (закрытие чего то, отключение
сигналов etc). Понятное дело, что для компилируемой программы этот аргумент
не столь важен, но, тем не менее, для большого и сложного проекта, который
пишет не один человек, такие сайд-эффекты вполне существенны, мне кажется. 

К тому же, если форки используются для разных типов воркеров (обработка
соединений, какой то кеш, какие то сервисные штуки), то у них могут быть
разные реакции на унаследованные от мастера данные - кому то надо сделать
то, кому то это, и в случае внесения изменений в мастер (добавили новый
сигнал?) придётся править код всех воркеров.
 
> То что worker-ы используют память мастера (через COW) очень даже
> полезно - 
> большая геобаза загруженная мастером будет использоваться всеми
> процессами и не 
> надо будет загружать её N раз в каждый worker отдельно.

Для подобных данных можно использовать shared memory, что так же выглядит
логичнее, чем "копия" данных мастера, да и в случе потребностей горячей
замены таких данных сделать это будет проще в одном месте.
 
> В адресное пространство воркеров попадает часть кода и данных, не
> нужных 
> worker-ом, но ничего плохого в этом нет.

Меня, в целом, не столько беспокоят "левые" данные мастера в воркере,
сколько потенциальные проблемы, которые они могут привнести (выше
перечислял).

Posted at Nginx Forum: 
http://forum.nginx.org/read.php?21,247942,247994#msg-247994

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


 




Copyright © Lexa Software, 1996-2009.