[devel] запуск сервисов

Andrey Orlov =?iso-8859-1?q?cray_=CE=C1_neural=2Eru?=
Пт Сен 19 19:07:31 MSD 2003


On Friday 19 September 2003 12:30, Denis Ovsienko wrote:
> Вкратце суть сводится к предложению запускать сервисы параллельно,
> соблюдая зависимости с помощью make. Кто может сказать, можем ли мы себе

По-моему скорость загрузки сводится не к порядку запуска, а к тому, что
есть узкое место - быстродействие процессора. Так что хоть последовательно,
хоть паралельно, хоть по диагонали - никакой разницы. А в связи с конкуренцией
за ресурсы и затратами на диспетчеризацию, паралельный запуск может __дольше__
проработать (видел я ту винду .... быстрее грузится, аха. Только залогинились
(быстро) и сидим ждем, пока система все сервисы стартанет и начнет на кнопки 
откликаться), и в этом смысле большую помощь окажет отказ от запуска ненужных
сервисов (коих, на рабочих станциях, по моим наблюдениям, 70%) и покупка чайника,
чбы включив машину не сразу кнопки топтать, а вначале чайку заварить.

А что до использования make..... Мндя. Чгря мне вообще идея inittab нравится больше,
чем идея SystemV скриптов. Раз уж такие вопросы начинают назревать, то нужно
закинуть SystemV скрипты / inittab на свалку истории и написать специальный
утиль для старта и мониторинга сервисов. Чбы решал не только проблему порядка запуска
но и:

 1. Старт / Стоп по зависимостям;

 2. Отслеживание работоспособности (рестарт при необохдимости или
 поднятие тревоги);

 3. Старт процесса с правами полльзователя;

 4. Возможно, любимую нами чрутизацию;

 5. Ограничение ресурсов, предоставляемых процессу;

 6. "Демонизация" процесса (с переназначение stdout / stderr на syslog, 
  	отслеживанием пида для стоп/старт и т.д.т.п).

 7. Поддержка единой конфигурации __старта__ процессов (не самих
	процессов);

И еще очень многое другое. Я отчасти со стороны, отчасти в той степени
в которой это задевает мои сервисы (Zope, rPAS, omniNames, etc) наблюдаю
за переписыванием initscripts и их поддержкой, и хотя с одной стороны я горжусь
тем, что среди AltLinuxTeam есть люди настолько хорошо знающие шелл, с другой - 
вся эта затея кажется мне обреченной и ненужной: есть задача для сложного
и нужного сервиса. Все необходимые алгоритмы, типа топологической сортировки,
в литературе описаны, изобретать особо ничего не надо. Ожидаемые трудозатраты (см.ниже)- один
человеко-месяц. Садись, пиши, внедряй. А что до всех этих игр с make. Ну да. Забавно. А 
еще на make можно пирожки печь.

В одном моем проекте была сходная задача - импорт продуктов, с зависимостями.
Написание с нуля заняло пять рабочих дней, вместе с отладкой. По функциональным
точкам, там было примерно половина от того, что нужно для задачи старта сервисов. 
Учитывая многочисленные согласования с унаследованной средой, для задачи старта
сервисов потребуется, наверно, месяц. И мое мнение - нужно сразу брать курс в этом
направлении, а не заниматься гробокопательством и гальванизацией трупов в лице
initscripts & inittab.

Сразу замечу, что всяческие проблемы с унаследованным софтом, при таком подходе
можно решить достаточно легко и непринужденно, особенно если делать это
на уровне дистрибутива. И сбсно мне кажется, что даже руки которые сделают
это найдутся сразу, как только такое решение будет принято.

-- 
WthBstRgrds -- Андрей Орлов --  
 --- http: www.neural.ru, mail: cray на neural.ru, jid: cray на altlinux.org ---
----------------------------------------




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