So is anyone big using Tornado in production? I expected the development to stall with the buyout of Friendfeed
Tornado 1.2
11–20 of 39 posts
Re: Tornado 1.2
#12Re: Tornado 1.2
#13Is the main advantage of Tornado that when you have a site open in the browser, it is less expensive for the site to push updates to the browser?
[1] http://en.wikipedia.org/wiki/C10k_problem [2] https://github.com/facebook/tornado/blob/master/demos/chat/c...
Re: Tornado 1.2
#14So is anyone big using Tornado in production? I expected the development to stall with the buyout of Friendfeed
Re: Tornado 1.2
#15Re: Tornado 1.2
#16So is anyone big using Tornado in production? I expected the development to stall with the buyout of Friendfeed
Re: Tornado 1.2
#17Is the main advantage of Tornado that when you have a site open in the browser, it is less expensive for the site to push updates to the browser?
Tornado is a high performance non-blocking web server. As it's non-blocking it can handle 1000s of simultaneous connections (see C10k problem[1]) and is well made for long polling style applications (and in fact includes a chat application[2] in the demos). [1] http://en.wikipedia.org/wiki/C10k_problem [2] https://github.com/facebook/tornado/blob/master/demos/chat/c...
After some basic research it seems that means communications between client and server happen asynchronously? Apache and other blocking web servers must have a start and end for every file or stream and has to create a new instance (or fork the process?) to serve another client. Tornado does not require a connection with a client to complete in order to connect with a new client.
Re: Tornado 1.2
#18Is the main advantage of Tornado that when you have a site open in the browser, it is less expensive for the site to push updates to the browser?
Re: Tornado 1.2
#19Is the main advantage of Tornado that when you have a site open in the browser, it is less expensive for the site to push updates to the browser?
traditional web servers like apache 2, create processes to handle web applications that are developed in say ruby or python (e.g. phusion passenger, mod_wsgi). from what i understand (correct me if i'm wrong) these processes inherit large overhead in terms of having to load large numbers of libraries so memory usage is quite wasteful.
What Tornado does instead is serve a large number of connections from a single thread, using epoll to block on a group of threads until one or more are ready for I/O. This has much lower memory overhead, and does not require switching among threads.
This kind of I/O model is at its best when you have a huge number of connections, idle most of the time, and there are very few CPU-intensive operations. Long polling usually fits that description.
Re: Tornado 1.2
#20So is anyone big using Tornado in production? I expected the development to stall with the buyout of Friendfeed
Well, may not exactly big but Quora is using Tornado in production.
[1] http://www.quora.com/Has-Quora-made-any-modifications-to-Tor...