On 28/02/2015, at 11:37 AM, Greg Janée <[email protected]> wrote: > 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?
Before I explain a few things, can you tell me what you have the Timeout directive set to in Apache? Also, do you have the WSGIProcessGroup directive definitely set so that requests are delegated to the daemon mode process? And finally, do you have WSGIApplicationGroup directive set at all? Graham -- 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.
