Decline of the Tornado Web Server - What happened?
google.com
google.com
Source - http://groups.google.com/group/python-tornado/browse_thread/...
i would love to hear more from bitly folks or hipmunk folks about their experience on the performance.
I am big fan of tornado, ben and it's simplicity. I guess i will continue to use my old branch for now.
Because the very earliest versions of Tornado were used by real websites, it looks like the code that did 8 jillion requests per second worked well enough in the real world.
My complaint (and I heard the same complaint from a developer as recently as yesterday) was that they tossed away all compatibility with everything that existed in order to solve one specific problem. Then people tried to use it as a general solution.
I spent an hour or two soon after tornado was released figuring out how to take the good parts of tornado and the good parts of twisted and put them together for this reason: http://dustin.github.com/2009/09/12/tornado.html The result (without any attempt to optimize it) was a reducing in raw performance, but the ability to actually do ridiculous numbers of things you can't do in tornado even today.
What are some of the things that you can do with your version of Tornado that I cannot do with regular Tornado?
* Use non-relational databases (I have a couchdb interface for twisted, and a blocking one for regular python, nothing for tornado)
* Use memcached (it's fast, but it blocks)
* Make long-lived streaming http requests (cited in my blog post)
* Spawn and communicate with subprocesses that might be not be instant
* Schedule periodic execution of events (including http requests)
* Run efficiently on BSDs and OS X
* Send email
* Do DNS lookups (important part of making service requests)
* Use work queues (beanstalkd, gearman, ampq, etc...)
These are things I do with twisted today (though I've got at least one app I've moved to node.js for small kind of small scripty sorts of thing).
Again, you can run arbitrary python code, but if it blocks, it stops all traffic from flowing and new connections from coming in.
FriendFeed uses Tornado with MySQL (I learned this from Brett Taylor's blog). It seems to work.
Recently I tweaked the templating engine to accept keyword arguments in a namespace for the {% include %} command. Anyone interested in my patch?
let's play a game. why would anyone downvote the parent comment?
1) Off-topic, what does your template patch have to do with the decline in performance?
2) If your patch is useful, submit it back to Tornado, or setup a fork, then just post a link
http://groups.google.com/group/python-tornado/msg/681856dbb4...
Google docs has some weird bug at the moment afaik which causes this.
(Worked for me the second click, probably some cookie set the first time).
The gray line represents the 2009 year marker.