I have been using uWSGI both locally and in production environments for a little while now and love it. I haven't been able to give it a complete workout yet as the "production" environments I am using it in are for sites that are only in beta testing.. but it's doing really well.
I am a django dev, and use uWSGI and nginx locally on my Mac for all my sites. I do this rather than using the built-in server to try and keep my dev/prod environments similar.
Luckily nginx has support for uWSGI out of the box, with a couple of configuration lines you can point to a port or socket and be up and running in no time.
I've been running nginx on the front line, then using apache/mod_wsgi as an app server... and this was just dumb. Now, nginx goes straight to uWSGI, and being able to separate my web process from my app process is such a joy.
I can't believe this link is being recycled through hackernews and reddit - it's a year old. I wish part of the semantic web was a tag to communicate to news aggregator sites the published date so there could be a "NOT NEWS" warning. ;)
HN isn't solely (or even primarily) for breaking news. Presumably the 28 or so people who have voted it up so far hadn't seen it before or thought it was worth sharing anyway.
In order to know it's still relevant, someone would have needed to repeat the benchmarks with the latest versions, in which case a link to the new benchmarks would be even more relevant and useful.
I don't have time to test this exact benchmark, but the last time I benchmarked PyPy on tornado it did 2x the req/s flat out, so probably (and I'll confirm later) that puts PyPy running tornado in the #1 place here.
This article is almost 1 year old. It is dated March 15, 2010.
I'm wondering if things have changed in the last year. I plan to write a web app written in python but boy I'm having so much hard time choosing a python web server/framework. There are so many good choices out there. And when the number of choices increases so does the time needed to figure out your mind. :)
My hands are itching to post an update but it takes a lot of time and well we're also very busy with SiteSupport.
I might post this weekend something about the high latency Tornado had (in the concurrency benchmark) and give a few remarks about the poor performance Gunicorn had in the benchmark.
The benchmark should be a small part of the final decision you take. I would first decide on the type of flavour you want your webserver to have: threaded? event-driven? with callbacks or coroutines?
Making the right choice here already limits the selection.
I appreciate the work that went into making this post.
However where the author failed was in colour choice, specifically on the charts. Subdued hues are fine as a statement for a theme, not when you're trying to discern which subdued hue of blue matches which Python Web server.
I don't know if you're already aware of this, but you can hover/click labels to make lines on the graph highlight and disappear respectively. I've found that these features make the graphs much easier to read.
That said, I definitely agree there needs to be an improvement to the colours used.
Indeed, the lines are pretty hard to distinguish. The graphs are interactive though, as you can hover over the legend, or over the graph, and the current line is highlighted.
I am a django dev, and use uWSGI and nginx locally on my Mac for all my sites. I do this rather than using the built-in server to try and keep my dev/prod environments similar.
Luckily nginx has support for uWSGI out of the box, with a couple of configuration lines you can point to a port or socket and be up and running in no time.