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

Re: "Правильные" демоны - не демоны?



On Fri, Aug 28, 2009 at 12:02:54AM +0400, Alexey Pechnikov wrote:
> > Чтобы их быстро и дешево форкать...
> 
> А смысл? Как пример, реверс-прокси pound с его форканьем на несколько порядков по 
> производительности уступает единственному экземпляру haproxy. Ну, про апач
> даже не будем вспоминать, в такое лучше не вляпываться. То есть технически да,
> форкать демона - дешевле, но нужно ли это делать, еще вопрос, ответ на который
> всегда или почти всегда будет отрицательный.

Конечно, можно написать сервис на нитях. Только сделать это надо так, чтобы этот
несчастный экземпляр не падал и не тек. Что, говорят, изредка кому-то удается.  

> > > Далее, зачем нужна встроенная работа с syslog, когда можно передавать в лог
> > > stdout & stderr через пайп (связку программы с логирующей утилитой могут
> > > обеспечить runit, daemontools, etc., если не хочется вручную перенапрявлять
> > > вывод). 
> > 
> > Куда именно перенаправить? syslog умеет очень быстро фильтровать и сортировать
> > сообщения, отправляя их куда надо и как надо. Не обязательно в файл. 
> 
> Вот только чтобы сообщения передать в сислог, нужно код программы переделывать,
> заменяя вывод в stdout/stderr на работу с сислогом. Кроме того, для того, чтобы вывод 
> пользовательской программы направить в отдельный файл, надо отредактировать конфиг 
> сислога и перезапустить его - и все это с правами рута. А потом еще нужно настроить
> ротацию этого лога, отредактировав еще один конфиг... На винду все больше смахивает,
> а не на юникс с цепочками утилит и пайпами.

Система из цепочки пайпов наплодит сотню grep и cat, после чего захлебнется на буферизации
и блокировках. Когда сто процессов будут в один файл логи складывать. Я уж не говорю про то,
что для вывода сообщений на произвольный терминал все-равно нужны рутовые (или около того)
права.


Reply to: