On Wed, 19 Mar 2003, Dmitry Alyabyev wrote:
> > > а каковы преимущества использования mod_class.c по сравнению с suexec +
> > > setclasscontext_patch ?
> >
> > Что такое suexec+setclassconext_patch - я не знаю, потому и не знаю
> > преимуществ.
>
> suexec с выставлением класса для данного uid
> обеспечивает ту же функциональность для cgi процессов
Понятно. mod_class действует на сам Апач. Ну и на всех его потомков, конечно.
> > Лучше скажу, что делать mod_class. Делает он следующее -
> > при старте основного Апача выставляет ему нужный класс. Все его
> > детишки наследуют этот класс. Есть у меня ещё версия (надо будет написать
> > доку и выложить), которая выставляет класс только при старте детишек.
> > В этом случае можно выставлять ограничение не только на память (главный
> > Апач редко вырастает), но и на время исполнения (это для главного Апача
> > неприемлимо). Но во втором случае нужно явно указывать пределы для
> > данных, стэка и прочая вместо unlimited, иначе при старте каждого
> > детишки на консоль (и в /var/log/messages, по-моему) валятся про это
> > сообщения. С главным такого не происходит, так он, как правило, работает
> > от рута, и ему всё можно.
>
> мне вариант с suexec не нравится только одним - не работает ограничение на
> кол-во процессов (suexec из-под рута выставляет класс и делает execv. при
> этом дочерние процессы этой cgi могут не запускатся, но сама cgi стартует
> всегда)
>
> как будет вести себя mod_class при лимите на кол-во процессов в классе ?
Если я правильно понимаю maxproc, то он действует на все процессы, запущенные
от данного пользователя и получается, что с помощью mod_class можно ограничить
число cgi, так как Апач форкается для его исполнения.
Но это при условии, что я правильно понял maxproc - я его никогда не пользовал.
Игорь Сысоев
http://sysoev.ru