My set up is nginx, uwsgi, web2py, and I am trying unsucessfully to
configure so that there are multiple uwsgi processes serving web2py.
I used the script to install nginx, uwsgi. I configured 8 processes.
$cat /etc/uwsgi/apps-enabled/web2py.xml
<uwsgi>
<plugin>python</plugin>
<socket>/run/uwsgi/app/web2py/web2py.socket</socket>
<pythonpath>/home/www-data/web2py/</pythonpath>
<app mountpoint="/">
<script>wsgihandler</script>
</app>
<master/>
<processes>8</processes>
<harakiri>60</harakiri>
<reload-mercy>8</reload-mercy>
<cpu-affinity>1</cpu-affinity>
<stats>/tmp/stats.socket</stats>
<max-requests>2000</max-requests>
<limit-as>512</limit-as>
<reload-on-as>256</reload-on-as>
<reload-on-rss>192</reload-on-rss>
<no-orphans/>
<vacuum/>
</uwsgi>
But "top" says that only 3 uwsgi processes running.
Also, it isn't working properly. The way I expect this to work is that a
request comes in after a slow still-running request still gets served. But
this isn't the case. It was like there was only one web2py process:
other requests have to wait for the long-running request to finish.
I think there is a problem with the web2py and uwsgi set up.
--