On Apr 19, 2010, at 4:49 PM, Graham Dumpleton wrote:
>
> Thus, don't see how mod_wsgi could have a problem given that it is
> relying on Apache Runtime Library code to manage processes.
>
Sure enough, this wasn't it. our processes started dying.
Interestingly enough, we started seeing this on a new, internal server, also
using mod_wsgi - meaning it's a pretty different codebase. We're also seeing
the same behavior across Gentoo and Fedora ( we're in the process of migrating
from gentoo to fedora)
Here are the settings that we're using now:
==================
Existing server that has been experiencing daemon death for a while, that has 3
different mod_wsgi process groups:
<IfModule prefork.c>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
ServerLimit 600
MaxClients 600
MaxRequestsPerChild 0
</IfModule>
...
WSGIRestrictStdout Off
WSGIPassAuthorization On
WSGISocketPrefix /Users/alecf/tip/metaserver/data/metaserver/run
WSGIApplicationGroup %{GLOBAL}
WSGIRestrictEmbedded On
# Ignore only DeprecationWarning.
WSGIPythonWarnings ignore::DeprecationWarning::
...
WSGIDaemonProcess xxx-site.com processes=4 threads=1 display-name=%{GROUP}
python-path=/Users/alecf/tip/xxx/_install/lib/python2.6/site-packages
maximum-requests=1000
WSGIImportScript /Users/alecf/tip/xxx/_install/bin/xxx.wsgi
process-group=xxx-site.com application-group=%{GLOBAL}
WSGIScriptAlias /api /Users/alecf/tip/xxx/_install/bin/xxx.wsgi
# Server configuration for xxx
<Directory /Users/alecf/tip/xxx/_install/bin>
WSGIProcessGroup xxx-site.com
WSGIApplicationGroup %{GLOBAL}
</Directory>
...
==============
And another one that is used internally:
<IfModule prefork.c>
StartServers 50
MinSpareServers 5
MaxSpareServers 50
ServerLimit 600
MaxClients 600
MaxRequestsPerChild 0
</IfModule>
...
# global WSGI settings
WSGIRestrictStdout Off
WSGIPassAuthorization On
WSGISocketPrefix @PROJECT_DATADIR@/run
WSGIApplicationGroup %{GLOBAL}
WSGIRestrictEmbedded On
# Ignore only DeprecationWarning.
WSGIPythonWarnings ignore::DeprecationWarning::
...
WSGIDaemonProcess yyy-internal process...@yyy_wsgi_processes@ threads=1
display-name=%{GROUP} python-pa...@yyy_python_dir@/lib/python2.6/site-packages
maximum-requests=1000
WSGIImportScript @YYY_PYTHON_DIR@/bin/yyy.wsgi process-group=yyy-internal
application-group=%{GLOBAL}
RewriteRule ^/status /_yyy-wsgi/status [PT,L]
RewriteRule
^/mw/clob/(getstatic|sanitize|blurb|putclob|saveclob|handle_getclob_404)
/_yyy-wsgi/mw/clob/$1 [PT,L]
WSGIScriptAlias /_yyy-wsgi @YYY_PYTHON_DIR@/bin/yyy.wsgi
<Directory @YYY_PYTHON_DIR@/bin>
WSGIProcessGroup yyy-internal
WSGIApplicationGroup %{GLOBAL}
</Directory>
--
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.