>> So with KeepAlive on, the same apache2 process serves the page itself >> and all associated files? > > That's my understanding, but i'm not sure if its what i've read over > the years or just assumed. > > The way I think it worked is; > - one apache process running as root, listening on port 80; > - once a connection is made to port 80, the root apache process hands > the connection off to a user apache process that handles all the > action associated with that TCP connection. > - so when using persistence, the same user apache process handles all > the gets until it hits a client or user imposed limit, when the TCP > connection is torn down and re-established. > > The tear down and re-establishment has a minor cpu cost both ends, and > a latency cost, which is exacerbated by TCP slow start.
Assuming you have the concept right, if I have 'MaxClients 50' and 'MaxSpareServers 10', there should never be more than 60 apache2 processes running and I should be able to serve up to 50 simultaneous TCP sessions? Can anyone explain why I have 20 apache2 processes running moments after an apache2 restart with 'MaxSpareServers 10' and without more than 1 or 2 simultaneous TCP sessions? - Grant