Re: Apache hangs when maximum connection beyond 2000

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

 



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 <bipinkdas@xxxxxxxxx> 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:vpram86@xxxxxxxxx]
Sent: Wednesday, May 20, 2009 4:47 AM
To: users@xxxxxxxxxxxxxxxx
Subject: Re: 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 <vpram86@xxxxxxxxx> 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 <bipinkdas@xxxxxxxxx> 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

[Index of Archives]     [Open SSH Users]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Squid]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux