httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rainer Jung <>
Subject AsyncRequestWorkerFactor / Event Sizing / Closing Connections
Date Wed, 22 Feb 2012 03:53:34 GMT
Looking at the server status on running 2.3.15 one can 
see, that about 50% of the async connections are in closing state.

We created AsyncRequestWorkerFactor to control the amount of 
overcommitment in terms of connections relative to idle workers we allow 
for each process. The formula is

Connections =

ThreadsPerChild + (AsyncRequestWorkerFactor * idle_workers) =

busy_workers + ((AsyncRequestWorkerFactor+1) * number of idle workers)

Default value for AsyncRequestWorkerFactor is "2", so per default

Connections = busy + 3 * idle.

Now if the situation on turns out to be typical, 50% of 
Connections are in closing state, but we don't expect those to need any 
more worker thread. So the overcommitment would reduce from a factor of 
3 to something closer to 1.5, which isn't much.

Would it be feasible to only count the number of non-closing 
connections, so allow new connections for a process as long as

Non_Closing_Connections <=

ThreadsPerChild + (AsyncRequestWorkerFactor * idle_workers) =


A related question: again on not only the number of async 
connections in closing state is pretty high, also the percentage of sync 
connections in state "C" is about 50%! I don't really understand that, 
usually (no big event experience yet) I see "C" only occasionally, not 
with such a big percentage. E.g. on the EU mirror running 2.2 and having 
less traffic there is hardly ever a "C" to notice. Is that an expected 
2.4/event difference, or is there something strange with the us network 



View raw message