First we need to figure out which model your Apache is using. If it uses
worker this setting is also fine! Please remember, in worker ServerLimit is
the maximum processes that can run simultaneously and ThreadsPerChild is the
threads running inside each process! Since in worker model, each
*thread*will service a request, we got a MAX of ServerLimit x
ThreadsPerChild
threads having connections and servicing requests. So we can put any
combination of these to achieve our goal. 50 and 41 is just an example i
gave! :)

<Note: if your apache is runing on windows, These two models will not be
there. Apache in Windows uses WINNT model and UNIX flavors use either of
prefork or worker)

On Wed, May 20, 2009 at 12:28 PM, BipinDas-Gmail <bipink...@gmail.com>wrote:

>  Thanks Prasanna for your valuable feedback. So you recommend to change
> the Serverlimit to 41 and Threads per child is 50 in worker?
>
> My goal is to set up this server for serving around 2000 connections
> simultaneously with  minimum load. Any more changes to be needed ?
>
>
>
> Thanks again.
>
>
>
> *Greetings ....*
>
> *BipinDas*
>
>
>
> *From:* Prasanna Ram Venkatachalam [mailto:vpra...@gmail.com]
> *Sent:* Wednesday, May 20, 2009 4:47 AM
> *To:* users@httpd.apache.org
> *Subject:* Re: [us...@httpd] Apache hangs when maximum connection beyond
> 2000
>
>
>
> Also in prefork, MaxClients is 256 (ServerLimit also) which means at max
> only 256 processes can run and serve 256 connections simultaneously. In your
> case 2000 well exceeds this. (i personally suggest worker rather than
> prefork since for 2000 connections even if you change the settings,
> processes running in the system would shoot up unneccessarily taking more
> memroy).
>
> In which model your apache is running now?
>
> Regards
> Prasanna Ram
>
>  On Wed, May 20, 2009 at 7:11 AM, Prasanna Ram Venkatachalam <
> vpra...@gmail.com> wrote:
>
> ServerLimit is 21 in worker and ThreadsPerChild is 25. So that means at
> MAX, 21 httpd will be running with with 25 threads each serving requests. I
> don't think it will serve 2000 connections simultaneously. Can you change it
> to 50 and 41 and see whether it works? (just a thought)
>
> Regards
> Prasanna Ram
>
>
>
>  On Wed, May 20, 2009 at 2:13 AM, BipinDas-Gmail <bipink...@gmail.com>
> wrote:
>
> Hello Everybody
>
>
>
> I have a webserver running on Dell Poweredge Xeon Processor with 4GB Ram.
> There is only one website a learning management system called
>
> Moodle. Configuration of Apache is as follows.
>
>
>
> This is the Prefork Module.
>
> <IfModule prefork.c>
>
> StartServers       8
>
> MinSpareServers    5
>
> MaxSpareServers   20
>
> ServerLimit      256
>
> MaxClients       256
>
> MaxRequestsPerChild  4000
>
> </IfModule>
>
>
>
>
>
> This is the Worker Module
>
>
>
> <IfModule worker.c>
>
> StartServers         2
>
> ServerLimit          21
>
> MaxClients          2000 (This was before 256,I changed to 2000)
>
> MinSpareThreads     25
>
> MaxSpareThreads     75
>
> ThreadsPerChild     25
>
> MaxRequestsPerChild  0
>
> </IfModule>
>
>
>
> When the output    “netstat -tn | wc -l “ goes beyond the 2000 the load of
> the server will go high say above 100 and server will hang down.
>
> I need to avoid this. So what will be the configuration to be changed to
> increase the client connection above this limit. Because students
>
> are accessing this site across the country simultaneously from NAT mode.
>
>
>
> Please help,Thanks in advance.
>
>
>
> *Greetings ....*
>
> *BipinDas*
>
>
>
>
>
>
>



-- 
Prasanna Ram

Reply via email to