Hi, I've got a Apache/mod_wsgi/Django application that's been working very 
well.  It performs certain kinds of requests that typically take .5s to 3s 
to complete.  Lately the system has been under heavier load, with perhaps 
10-20 requests being processed in parallel.  Everything works fine, with 
the requests still being completed in under 3s, except every once in awhile 
(like, every 50-100,000 transactions), one request will take over 3min.  It 
feels like some kind of lock starvation problem.

I've confirmed that it's not in my application.  On a request that takes 
3min, my code is not getting the request for 3min, and then it's processing 
it at the normal speed.  So there's some hangup above me, and I feel like 
it has something to do with Apache/mod_wsgi threads.

My setup:
  Apache 2.2.17, prefork, all default parameters regarding number of 
servers, etc.
  mod_wsgi 3.3
  WSGIDaemonProcess site-1 threads=50 shutdown-timeout=60

Therefore, wsgi.multiprocess is False and wsgi.multithread is True.  (N.B.: 
due to the current architecture of the application, it must run within a 
single process.)

Any hints where I should start looking?  This is obviously a difficult 
problem to diagnose because it doesn't happen very frequently.

I must say, I'm a little confused by what's really happening at the 
process/thread level.  I'm running in single daemon, multiple thread mode, 
but when I get lots of requests in parallel, Apache creates lots of child 
processes, which doesn't really make sense to me (aren't all requests 
getting funneled to the daemon?).  Should I be using Apache's "worker" MPM 
mode?

Thanks very much for any advice.

-- 
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 http://groups.google.com/group/modwsgi.
For more options, visit https://groups.google.com/d/optout.

Reply via email to