-
Website
http://eric.themoritzfamily.com -
Original page
http://eric.themoritzfamily.com/2008/11/12/wsgi-benchmarking/ -
Subscribe
All Comments -
Community
-
Top Commenters
-
Affordable SEO Services
2 comments · 1 points
-
ericmoritz
11 comments · 2 points
-
mp3danyul
1 comment · 1 points
-
muratbiskin
1 comment · 1 points
-
Mike Dirolf
1 comment · 1 points
-
-
Popular Threads
I'm also trying nginx as a reverse proxy, which appears to add a couple milliseconds to the request. I don't know why.
nginx with mod_wsgi behind an apache proxy performs maybe 1 or 2 milliseconds faster than apache to apache with mod_wsgi.
I'll have the official numbers tomorrow sometime.
For some reason I found the reverse in my own comparison SCGI, not proxy, (both lighttpd and Apache 1.3) had the lowest overhead:
http://mikewatkins.ca/2008/10/22/qp-lighttpd-ss...
As you'd expect a Python SCGI server should deliver slightly better performance than a full stack Python web server. There appears to be little difference between the Apache and lighttpd implementations of SCGI (its a pretty simple protocol) and they perform more or less identically. What surprised me is the overhead of Apache proxy (note I am only comparing Apcahe 1.3 - perhaps that has changed in 2.x).
Playing with python's hotshot profiler may lend some light to why flup is slower when QP's implementation is faster than mod_proxy.
I'll set up QP on my machine to get comparable timing numbers to my tests.
To have mod_wsgi for nginx compiled, you have to applay manually one patch (it is there but not worked properly). The patch only change one function name.
http://media.mnjournal.com/nginx_0.6.32-3ubuntu...
I'm seeing similar numbers with an apache frontend proxied to nginx with mod_wsgi that I'm seeing with apache proxied to another apache server with mod_wsgi with maybe a 1 or 2 milliseconds less than apache/mod_wsgi.
Then again a lot of common Python tools seem to be some distance away from supporting Python 3. The one I miss the most is docutils.
I am using fapws for a few month. It works quite well, but every django exception kills all instances of fapws. Are there any ideas how to prevent it ? For now, I made a checker script which watchdog fapws and restart it if needed.