Hi John,
If you are experiencing high loads, you should probably edit (or at
least look at) Apache's httpd.conf file. The most important item is
the MaxClients directive. Below is how our server at Rochester is
configured. Actually this is the configuration from when we had a
slower server but it works very well so we haven't changed it. Note
that MaxClients is set to 25 so that Apache will only handle 25
requests simultaneously (and queue any others -see below). Apache's
default is 256 which is too high for WeBWorK unless you have an
extremely fast machine. With our setting of 25, we are able to easily
serve over a 1000 students with the largest course being around 300 and
we no longer try to spread out when assignments are due (maybe some
people still do this by habit). We could probably set MaxClients
higher but there seems to be no point in doing this. Quickly eyeballing
the timing logs, about half the entries show 0 wallclock secs and about
half 1 wallclock secs. I didn't see any higher but I didn't search
(this is the first time I even looked at the timing log this semester).
KeepAlive On MaxKeepAliveRequests 100 KeepAliveTimeout 10 MinSpareServers 10 MaxSpareServers 25 StartServers 10 MaxClients 25 MaxRequestsPerChild 30
Arnie
From the Apache Documentation:
The MaxClients directive sets the limit on the number of
simultaneous requests that can be supported; not more than this number
of child server processes will be created. To configure more than 256
clients, you must edit the HARD_SERVER_LIMIT entry in httpd.h and
recompile.
Any connection attempts over the MaxClients limit will normally be queued, up to a number based on the ListenBacklog directive. Once a child process is freed at the end of a different request, the connection will then be serviced.
<| Post or View Comments |>
|