httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "tim hi" <>
Subject [users@httpd] Child processes keep increasing, how to kill them?
Date Tue, 27 Jan 2004 19:21:36 GMT
I have configured Apache2 with Tomcat (using mod_jk) . My application is 
deployed on tomcat.
I am trying to see what is the maximum # of users my application can handle, 
but apache is turning out to be the bottleneck.

I have loaded 40 client browsers (using a load testing tool) and set the 
maxClients to 250 ( in the httpd.conf file). However after some iterations 
(40 users) , I am getting the error :

"[error] server reached MaxClients setting, consider raising the MaxClients 

What I noticed is tht the apache child processes keep on increasing , and I 
get the error when the child processes reach 250. How can I configure apache 
such that the unused apache child process dies (so that the maxClient limit 
is not reached).


PS: can some one please pass me a httpd.conf that they are using for high 
loads - TIA.

Contents of the httpd.conf file attached below:

# Ha, you're reading this config file looking for the easy way out!
# "how do I make my apache server go really really fast??"
# Well you could start by reading the /manual/misc/perf-tuning.html
# page. But, we'll give you a head start.
# This config file is small, it is probably not what you'd expect on a
# full featured internet webserver with multiple users. But it's
# probably a good starting point for any folks interested in testing
# performance.
# To run this config you'll need to use something like:
# httpd -f /usr/local/apache2/conf/highperformance.conf

Listen 80
ServerRoot /usr/local/apache2
DocumentRoot /usr/local/apache2/htdocs

User nobody
# If you're not on Linux, you'll probably need to change Group
Group nobody

# KeepAlive: Whether or not to allow persistent connections (more than
# one request per connection). Set to "Off" to deactivate.
KeepAlive on

# MaxKeepAliveRequests: The maximum number of requests to allow
# during a persistent connection. Set to 0 to allow an unlimited amount.
# We recommend you leave this number high, for maximum performance.
MaxKeepAliveRequests 100

# KeepAliveTimeout: Number of seconds to wait for the next request from the
# same client on the same connection.
KeepAliveTimeout 15

<IfModule prefork.c>
MaxClients 250
StartServers 5
MinSpareServers 2
MaxSpareServers 5

<IfModule worker.c>
MaxClients 250
StartServers 3
MinSpareThreads 2
MaxSpareThreads 5
ThreadsPerChild 25

# Assume no memory leaks at all
MaxRequestsPerChild 0

# it's always nice to know the server has started
ErrorLog logs/error_log

# Some benchmarks require logging, which is a good requirement. Uncomment
# this if you need logging.
#TransferLog logs/access_log

<Directory />
# The server can be made to avoid following symbolic links,
# to make security simpler. However, this takes extra CPU time,
# so we will just let it follow symlinks.
Options FollowSymLinks

# Don't check for .htaccess files in each directory - they slow
# things down
AllowOverride None

# If this was a real internet server you'd probably want to
# uncomment these:
#order deny,allow
#deny from all

# If this was a real internet server you'd probably want to uncomment this:
#<Directory "/usr/local/apache2/htdocs">
# order allow,deny
# allow from all

# OK that's enough hints. Read the documentation if you want more.

Include /export/home/cgs/jakarta-tomcat-3.3.1a/conf/mod_jk.conf

Learn how to choose, serve, and enjoy wine at Wine @ MSN.

The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:> for more info.
To unsubscribe, e-mail:
   "   from the digest:
For additional commands, e-mail:

View raw message