Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

in a production environment running nginx reversing back to apache mpm-prefork/mod_wsgi, im seeing 90 apache child processes, when i would expect that 40 would be the maximum, as configured below. the configuration/setup is nothing exciting:

  1. nginx is reverse proxying to apache via proxy_pass, and serving static media
  2. apache only serves dynamic requests

relevant nginx config:

worker_processes 15;

events {
    worker_connections  1024;

keepalive_timeout 10;

relevant apache config:

KeepAlive Off
MaxKeepAliveRequests 100 
KeepAliveTimeout 15

<IfModule mpm_prefork_module>
    StartServers        20
    MinSpareServers     7      
    MaxSpareServers     10
    MaxClients          200
    MaxRequestsPerChild 0

mod_wsgi config, where webapp is the name of the process:

WSGIDaemonProcess webapp user=www group=users threads=1 processes=40

am i missing something?

share|improve this question
up vote 2 down vote accepted

I think Graham Dumpleton may have answered your question in his blog recently.


I guess I should point out that his blog post is mostly about mod_python, but I think his explanation of how prefork works may give you some insight as to where the additional processes are coming from.

share|improve this answer
yep, looks like he did! thanks! – matt May 27 '09 at 14:55
I have also commented on this same question over on Stack Overflow. See…. – Graham Dumpleton Jun 27 '09 at 11:07

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.