Sorry for not getting to this in a timely manner. Am having a bit of a mind block on this stuff at the moment. I still need to go in and tweak some stuff in mod_wsgi and not able to get my head around it.
Most of the information is covered in those posts you link to. First up just suggest using blocked-timeout of 60 as fails safe to at least trigger a restart when everything blocked up for 60 seconds. Wouldn't worry about blocked-requests yet as I need to tweak stuff related to that option. As to listen-backlog, still trying to work out what is best thing to do with new ability to change it. Even if dropped to be low value, a retry mechanism kicks in with mod_wsgi when it tries to connect to daemon processes. One needs this to ensure that when daemon processes all restart at same time and new process not quite it state to accept new connection that it does fail straight away. Am not totally sure that is valid though and have to dig into it further. The retry may in part not be needed as strictly speaking may only kick in when listen backlog of daemon full. So, have to do some further analysis. BTW, make sure you have: LogLevel info in order to get stack trace dumps. I still need to change things so that they are log at error level so always visible and change message about why being logged. Graham On 6 December 2011 21:47, stefanoC <[email protected]> wrote: > Finally managed to jump from > http://serverfault.com/questions/335633/apachemod-wsgi-configuration-for-django-projects-on-a-quad-core > to this mailing list. > > I am ready to try the switch, already compiled and run mod_wsgi 4.0 on > a test machine with the same config as usual. > > Before going on production I would need to know (Graham I understand > you have a full time job at NewRelic so thanks in advance for when > you'll have the time to jump on this!) > > * what are the new mod_wsgi settings for the apache2 conf? what about > "listen-backlog" (http://groups.google.com/group/modwsgi/browse_thread/ > thread/b6d66d3fe5a53d2c/ > what about "blocked-requests" and "blocked-timeout" > http://groups.google.com/group/modwsgi/msg/2a968d820e18e97d > > In Graham's answer to my serverfault question: >> if number of processes/threads across Apache child worker processes is less >> than 100, the daemon process listener backlog, then all those threads can >> also get stuck and you will not know > > I currently use these settings on a quadcore: > > <IfModule mpm_worker_module> > StartServers 2 > ServerLimit 4 > MinSpareThreads 2 > MaxSpareThreads 4 > ThreadLimit 32 > ThreadsPerChild 16 > MaxClients 64#128 > MaxRequestsPerChild 10000 > </IfModule> > > WSGIDaemonProcess subdomain.domain user=www-data group=www-data > threads=25 > > Is this sensible ? > After reading > http://groups.google.com/group/modwsgi/browse_thread/thread/edffb22b2eac134b > and again > http://groups.google.com/group/modwsgi/browse_thread/thread/b6d66d3fe5a53d2c/ > I see that my threads settings might not be fit... > > Anything else I'd need to know? > > -- > 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. > -- 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.
