I'm making the transition from mod_wsgi + apache to uwsgi + nginx. I don't expect lessons to translate directly over, however I did expect that my thread and process settings would yield similar performance. On my mod_wsgi setup, I had two processes running with 150 threads. My uwsgi 1.0.2.1 setup looks like this:
[uwsgi] socket = /tmp/app.sock master = 1 processes = 2 threads = 150 post-buffering = 4096 post-buffering-bufsize = 4096 buffer-size = 65536 pep3333-input = 1 env = /usr/local/virtualenvs/app-env env=HOME=/home/app pp = /usr/local/virtualenvs/app-env/lib/python2.6/site-packages module = app chdir = /usr/local/virtualenvs/app-env/src/app uid = 2300 gid = 2300 disable-logging = 1 lazy = 1 With which I get very noisy and slow performance. Removing threads altogether helps performance and smooths out the noise, but obviously hurts concurrency. Adding even one thread increases the noise. Many of requests are I/O heavy (essentially db lookups) which I'd expect to benefit heavily from added concurrency. I'm using SQLAlchemy with a connection pool size of 100 + (50 overflow). I'm wondering if there is something obviously wrong with my configuration, or if I need to configure SQLAlchemy in a new way to play well with uwsgi? _______________________________________________ uWSGI mailing list [email protected] http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi
