6 ms·
Benchmark of Python Web Servers
- cletus 16y agoI 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!
- MichaelStubbs 16y agoI 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.
- wladimir 16y agoIndeed, 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.
- bobx11 16y agoI 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. ;)
- eli 16y agoHN 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.
- beaumartinez 16y agoIt's a year old, but still very relevant.
- tedunangst 16y agoIn 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.
- antihero 16y agoDamn, there I was hoping this might be an updated version that fixed all the flaws in the original test that people pointed out.
- plainOldText 16y agoThis 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. :)
- nichol4s 16y agoMy 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.
- nichol4s 16y agoOh 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.
- deleted 16y ago[deleted]
- antihero 16y agoJust 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.
- kingkilr 16y agoI 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.
- whalesalad 16y agoI 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.
- idm 16y agoAnother 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.
- zokier 16y agoI wonder how would Apache/FastCGI-combo compare to these app servers?
- kenkam 16y agoThanks for this very comprehensive benchmark. I am going to have a look at uWSGI and gevent!