On Thu, Sep 17, 2015 at 06:48:50PM -0400, Davanum Srinivas wrote: > In the fuel project, we recently ran into a couple of issues with Apache2 + > mod_wsgi as we switched Keystone to run . Please see [1] and [2]. > > Looking deep into Apache2 issues specifically around "apache2ctl graceful" > and module loading/unloading and the hooks used by mod_wsgi [3]. I started > wondering if Apache2 + mod_wsgi is the "right" solution and if there was > something else better that people are already using. > > One data point that keeps coming up is, all the CI jobs use Apache2 + > mod_wsgi so it must be the best solution....Is it? If not, what is?
Disclaimer: it's been a while since I've cared about performance with a web server in front of a Python app. IIRC, mod_wsgi was abandoned for a while, but I think it's being worked on again. In general, I seem to remember it being thought of as a bit old and crusty, but mostly working. At a previous job, we switched from Apache2 + mod_wsgi to nginx + uwsgi[0] and saw a significant performance increase. This was a Django app. uwsgi is fairly straightforward to operate and comes loaded with a myriad of options[1] to help folks make the most of it. I've played with Ironic behind uwsgi and it seemed to work fine, though I haven't done any sort of load testing. I'd encourage folks to give it a shot. :) Of course, uwsgi can also be ran behind Apache2, if you'd prefer. gunicorn[2] is another good option that may be worth investigating; I personally don't have any experience with it, but I seem to remember hearing it has good eventlet support. // jim [0] https://uwsgi-docs.readthedocs.org/en/latest/ [1] https://uwsgi-docs.readthedocs.org/en/latest/Options.html [2] http://gunicorn.org/ __________________________________________________________________________ OpenStack Development Mailing List (not for usage questions) Unsubscribe: [email protected]?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
