This is a discussion on Apache 2 httpd process : IA64 Linux VS Solaris within the Linux Web Servers forums, part of the Web Server and Related Forums category; Hello, I have built Apache 2.0.47 WORKER MODEL (--with-mpm=worker) from source on Solaris 2.8 and ...
|
|||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
|
|||
|
Hello,
I have built Apache 2.0.47 WORKER MODEL (--with-mpm=worker) from source on Solaris 2.8 and IA64 United Linux. My build is successfull and the apache server comes up and operational on both platforms. My question is regarding the number of httpd processes on these two platforms. In solaris I see only 4 httpd processes for the default configuration, where as I see 58 httpd processes on IA64 United Linux platform. Could anyone please explain why these many processes on Linux platform! My configuration is # worker MPM # StartServers: initial number of server processes to start # MaxClients: maximum number of simultaneous client connections # MinSpareThreads: minimum number of worker threads which are kept spare # MaxSpareThreads: maximum number of worker threads which are kept spare # ThreadsPerChild: constant number of worker threads in each server process # MaxRequestsPerChild: maximum number of requests a server process serves <IfModule worker.c> StartServers 2 MaxClients 150 MinSpareThreads 25 MaxSpareThreads 75 ThreadsPerChild 25 MaxRequestsPerChild 0 </IfModule> ws454h apache2/bin> ./apachectl -V Server version: Apache/2.0.47 Server built: Feb 5 2004 10:01:42 Server's Module Magic Number: 20020903:4 Architecture: 64-bit Server compiled with.... -D APACHE_MPM_DIR="server/mpm/worker" -D APR_HAS_SENDFILE -D APR_HAS_MMAP -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled) -D APR_USE_SYSVSEM_SERIALIZE -D APR_USE_PTHREAD_SERIALIZE -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT -D APR_HAS_OTHER_CHILD -D AP_HAVE_RELIABLE_PIPED_LOGS -D HTTPD_ROOT="/PE-QA/webservers/apache2" -D SUEXEC_BIN="/PE-QA/webservers/apache2/bin/suexec" -D DEFAULT_SCOREBOARD="logs/apache_runtime_status" -D DEFAULT_ERRORLOG="logs/error_log" -D AP_TYPES_CONFIG_FILE="conf/mime.types" -D SERVER_CONFIG_FILE="conf/httpd.conf" Thanks chetan. |
|
|||
|
> I have built Apache 2.0.47 WORKER MODEL (--with-mpm=worker)
> from source on Solaris 2.8 and IA64 United Linux. My build is > successfull and the apache server comes up and operational on both > platforms. > > My question is regarding the number of httpd processes on these two > platforms. > In solaris I see only 4 httpd processes for the default configuration, > where as I see 58 httpd processes on IA64 United Linux platform. > <IfModule worker.c> > StartServers 2 > MaxClients 150 > MinSpareThreads 25 > MaxSpareThreads 75 > ThreadsPerChild 25 > MaxRequestsPerChild 0 > </IfModule> I may think you would be interessed into the threading model of your Linux kernel version. With *native* threads, each thread is *a process* while 1 other process acts as management (or master) thread. On Solaris, I may say that POSIX threads are only working in user-space and not in system-space. To use system threads on Solaris in C you should use thr_create() instead of pthread_create(). Which allows you potentially to see a bigger number of processes. Believe me or not, I have written servers in C on Solaris 2.7 using POSIX threads API and there was only one process alive of that server. But this shows in my opinion how Apache is a technology that is well unstertood by the Linux kernel (and probably some other open-source systems) whereas Solaris does not encourage the use of POSIX threads API, which is in my opinion the most portable threading library ever found yet. I hope these considerations will help you. Kind regards, Stephane |
|
|||
|
Thank you stephane for the explanation.
chetan. stephanearnold@yahoo.fr (StephaneAR) wrote in message news:<e6034d54.0402280614.4c94cd86@posting.google. com>... > > I have built Apache 2.0.47 WORKER MODEL (--with-mpm=worker) > > from source on Solaris 2.8 and IA64 United Linux. My build is > > successfull and the apache server comes up and operational on both > > platforms. > > > > My question is regarding the number of httpd processes on these two > > platforms. > > In solaris I see only 4 httpd processes for the default configuration, > > where as I see 58 httpd processes on IA64 United Linux platform. > > <IfModule worker.c> > > StartServers 2 > > MaxClients 150 > > MinSpareThreads 25 > > MaxSpareThreads 75 > > ThreadsPerChild 25 > > MaxRequestsPerChild 0 > > </IfModule> > I may think you would be interessed into the threading model of your > Linux kernel version. With *native* threads, each thread is *a > process* while 1 other process acts as management (or master) thread. > On Solaris, I may say that POSIX threads are only working in > user-space and not in system-space. To use system threads on Solaris > in C you should use thr_create() instead of pthread_create(). > Which allows you potentially to see a bigger number of processes. > Believe me or not, I have written servers in C on Solaris 2.7 using > POSIX threads API and there was only one process alive of that server. > But this shows in my opinion how Apache is a technology that is well > unstertood by the Linux kernel (and probably some other open-source > systems) whereas Solaris does not encourage the use of POSIX threads > API, which is in my opinion the most portable threading library ever > found yet. > > I hope these considerations will help you. > Kind regards, > Stephane |