[peruser] Patch for busy servers

Taavi Sannik taavi at kood.ee
Tue Jan 4 12:26:59 MST 2011


Hello!

The exact steps to reproduce this:

- set peruser configuration to this and start the server:
<IfModule peruser.c>
     ServerLimit 700
     MaxClients 700
     MinSpareProcessors 0
     MaxSpareProcessors 20
     MinProcessors 0
     MaxProcessors 80
     MaxRequestsPerChild 1000
     ExpireTimeout 7200
     IdleTimeout 120
     MinMultiplexers 3
     MaxMultiplexers 40
     MultiplexerIdleTimeout 120
     ProcessorWaitTimeout 5
</IfModule>

- make some requests to the server
- run graceful restart on the server
- run ab -c 50 -n 100000 http://hostname/ on the server, error_log 
should fill up with "long lost child" messages (on our server we got 
about 10 lines).

Tested on x86_64 CentOS 5.5.

We confirmed that this did not happen on rc2.

I agree that the SIGHUP restart is more stable, but it kills all active 
connections while graceful keeps them alive (and thus not interrupting 
downloads).

I will be testing the latest patch on couple of our servers and if no 
other major problems occur during the next few days, then I think we can 
release the rc3 patch.


Greetings,
Taavi



More information about the Peruser mailing list