Hacker News new | past | comments | ask | show | jobs | submit login
Benchmark of Python Web Servers (nichol.as)
102 points by jp_sc on March 7, 2011 | hide | past | favorite | 17 comments



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.


Another happy uWSGI user here.

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.


It's a year old, but still very relevant.


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.


Oh and regarding the choices you have...

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.


Just go with Gunicorn+gevent. The fantastic thing about WSGI is that if there's a faster solution available, you can switch it out.

I think frameworks would be a more difficult choice, I like Flask as it's simple and uses Jinja2, which is sexy.


Damn, there I was hoping this might be an updated version that fixed all the flaws in the original test that people pointed out.


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.

More distinct colours please!


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.


Thanks for this very comprehensive benchmark. I am going to have a look at uWSGI and gevent!


I wonder how would Apache/FastCGI-combo compare to these app servers?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: