2010/12/1 Graham Dumpleton <[email protected]>

> On 30 November 2010 19:32, elpaso <[email protected]> wrote:
> > Hi,
> >
> > I need some help debugging a production site with GeoDjango and
> > mod_wsgi.
> >
> > The problem is that a few hours after restart I always end up with 4
> > processes eating up all available memory, 1 CPU core is 100% kernel
> > and others are idle, apparently doing nothing.
> >
> > I have a traditional setup:
> > * nginx serving static media + apache + mod_wsgi (latest version)
> > * GeoDjango (cannot go multithread due to some c/c++ binding libs not
> > being thread safe)
> >
> > this is the configuration:
> >
> > ...
> >    WSGIDaemonProcess ml.eu user=www-data group=www-data processes=10
> > threads=1 maximum-requests=50 display-name=WSGI
> >    WSGIProcessGroup ml.eu
>
> Your 'ps' output shows a lot more processes than can exist for that
> daemon process definition.
>


Thank you for answering, I discovered htop was showing thread in addition to
processes,  the real number of processes is lower:

ps aux | grep apache|wc -l&&ps aux| grep WSGI|wc -l
4
11



>
> If you do a complete 'stop' of Apache, do any of the processes still
> exist? Ie., eliminate whether they are hanging around from an old
> Apache some how.
>

Yes, this happened yesterday: stopping apache left a lot of WSGI processes
alive. I had to kill them by hand.

It seems that after I activated maximum-requests, stopping apache does not
leave active WSGI processes anymore, I will make some other tests to confirm
this behaviour.


>
> Also set:
>
>  WSGIApplicationGroup %{GLOBAL}
>
> to force use of main interpreter in case GeoDjango doesn't work
> properly in sub interpreters and is somehow leaking memory.
>
> Also ensure not loading mod_python in same Apache.
>

> And ensure that not setting DEBUG to True in Django settings module.
>

I don't have mod_python nor DEBUG activated.

I will follow your suggestions and keep the system monitored.

A last (and probably dumb) question: I cannot understand the how the
configuration in main apache2.conf <IfModule mpm_prefork_module> section
interacts with the WSGI* directives in the virtual server config section,
can you please point me to some docs ? For example: if apache decides to
activate two servers and processes=10, shall I end up with 20 WSGI processes
and so on ? Or 10 is a global limit regardless the number of apache
preforked servers?


Thank you very much for your help!

-- 
Alessandro Pasotti
w3:   www.itopen.it

-- 
You received this message because you are subscribed to the Google Groups 
"modwsgi" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/modwsgi?hl=en.

Reply via email to