I am hoping to gain some clarity here on our WSGI configuration since a lot 
of the tuning seems to be heavily reliant on the application itself. 

Our setup

   - Single load balancer (round robin)
   - Two virtual servers with 16GB of RAM
   - Python app ~100MB in memory per process
   - Response times are longer as we broker calls, so it could be up to 1-2 
   seconds
   - Running WSGI 4.4.2 on Ubuntu LTS 14 with Apache 2
   - WSGI Daemon mode running (30 processes with 25 threads)
   - KeepAlives are off
   - WSGI Restrict embedded is on
   - Using MPM event

For Apache, we have the following:

   - StartServers 30
   - MinSpareThreads 40
   - MaxSpareThreads 150
   - ThreadsPerChild 25
   - MaxRequestWorkers 600

I have tried a number of different scenarios, but all of them generally 
lead to the same problem. We are processing about 3 requests a second with 
a steady number of worker threads and plenty of idle in place. After a few 
minutes of sustained traffic, we eventually start timing out which then 
leads to worker counts driving up until it's reached the MaxRequestWorkers. 
Despite this, I am still able to issue requests and get responses, but it 
ultimately leads to apache becoming unresponsive. 

-- 
You received this message because you are subscribed to the Google Groups 
"modwsgi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/modwsgi.
For more options, visit https://groups.google.com/d/optout.

Reply via email to