{"id":296,"date":"2009-09-11T05:44:44","date_gmt":"2009-09-11T03:44:44","guid":{"rendered":"http:\/\/blog.sqawasmi.com\/?p=296"},"modified":"2009-09-11T05:50:38","modified_gmt":"2009-09-11T03:50:38","slug":"tornado-the-real-time-web-server-that-powers-friendfeed-now-open-source","status":"publish","type":"post","link":"https:\/\/blog.sqawasmi.com\/index.php\/2009\/09\/11\/tornado-the-real-time-web-server-that-powers-friendfeed-now-open-source\/","title":{"rendered":"Tornado, the real-time web server that powers FriendFeed, now open source."},"content":{"rendered":"<p>Facebook announced <a href=\"http:\/\/www.tornadoweb.org\/\">Tornado<\/a> as new open source web server framework, it can be used to serve thousands of simultaneous connections, its high performance is really interesting, i think ill test it in the coming days.<br \/>\ncheckout the following links:<br \/>\n<a href=\"http:\/\/developers.facebook.com\/news.php?blog=1&amp;story=301\">http:\/\/developers.facebook.com\/news.php?blog=1&amp;story=301<\/a><br \/>\n<a href=\"http:\/\/bret.appspot.com\/entry\/tornado-web-server\">http:\/\/bret.appspot.com\/entry\/tornado-web-server<\/a><br \/>\nfriendfeed website: <a href=\"http:\/\/friendfeed.com\/\">http:\/\/friendfeed.com<\/a><\/p>\n<p>some details:<br \/>\n<a href=\"http:\/\/www.tornadoweb.org\/\">Tornado<\/a> is a non-blocking Web server framework written in Python, designed to handle thousands of simultaneous connections, making it ideal for real-time Web services.<\/p>\n<p>Some of the distinctive features of Tornado:<\/p>\n<ul>\n<li><strong>All the basic site building blocks<\/strong> &#8211; Tornado comes with built-in support for a lot of the most difficult and tedious aspects of web development, including <a href=\"http:\/\/www.tornadoweb.org\/documentation#templates\">templates<\/a>,     <a href=\"http:\/\/www.tornadoweb.org\/documentation#cookies-and-secure-cookies\">signed cookies<\/a>, <a href=\"http:\/\/www.tornadoweb.org\/documentation#user-authentication\">user authentication<\/a>, <a href=\"http:\/\/www.tornadoweb.org\/documentation#localization\">localization<\/a>,     <a href=\"http:\/\/www.tornadoweb.org\/documentation#static-files-and-aggressive-file-caching\">aggressive static file caching<\/a>, <a href=\"http:\/\/www.tornadoweb.org\/documentation#cross-site-request-forgery-protection\">cross-site request forgery protection<\/a>, and <a href=\"http:\/\/www.tornadoweb.org\/documentation#third-party-authentication\">third party authentication<\/a> like Facebook Connect. You only need to use the features you want, and it is easy to mix and match Tornado with other frameworks.<\/li>\n<li><strong>Real-time services<\/strong> &#8211; Tornado supports large numbers of concurrent connections. It is easy to write real-time services via <a href=\"http:\/\/en.wikipedia.org\/wiki\/Push_technology#Long_polling\">long polling<\/a> or HTTP streaming with Tornado. Every active user of FriendFeed maintains an open connection to FriendFeed&#8217;s servers.<\/li>\n<li><strong>High performance<\/strong> &#8211; Tornado is pretty fast relative to most Python web frameworks. We ran some <a href=\"http:\/\/www.tornadoweb.org\/documentation#performance\">simple load tests<\/a> against some other popular Python frameworks, and Tornado&#8217;s baseline throughput was over four times higher than the other frameworks:\u00a0 <a href=\"http:\/\/bret.appspot.com\/entry\/tornado-web-server\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" title=\"Tornado and other frameworks\" src=\"http:\/\/chart.apis.google.com\/chart?chxt=y&amp;chd=t%3A100%2C40%2C27%2C25%2C9&amp;chco=609bcc&amp;chm=t+8213%2C000000%2C0%2C0%2C11|t+3353%2C000000%2C0%2C1%2C11|t+2223%2C000000%2C0%2C2%2C11|t+2066%2C000000%2C0%2C3%2C11|t+785%2C000000%2C0%2C4%2C11&amp;chs=600x175&amp;cht=bhs&amp;chtt=Web+server+requests%2Fsec+%28AMD+Opteron%2C+2.4GHz%2C+4+cores%29&amp;chxl=0%3A|CherryPy+%28standalone%29|web.py+%28Apache%2Fmod_wsgi%29|Django+%28Apache%2Fmod_wsgi%29|Tornado+%281+single-threaded+frontend%29|Tornado+%28nginx%3B+4+frontends%29|\" alt=\"\" width=\"462\" height=\"134\" \/><\/a><\/li>\n<\/ul>\n<div style=\"text-align: center; margin-top: 2em; margin-bottom: 2em;\"><img decoding=\"async\" src=\"imap:\/\/shaker@store12.maktoob.com:143\/fetch%3EUID%3E.Drafts%3E55?part=1.2&amp;filename=chart\" alt=\"\" \/><\/div>\n<h3>Related Images:<\/h3>","protected":false},"excerpt":{"rendered":"<p>Facebook announced Tornado as new open source web server framework, it can be used to serve thousands of simultaneous connections, its high performance is really interesting, i think ill test it in the coming days. checkout the following links: http:\/\/developers.facebook.com\/news.php?blog=1&amp;story=301 http:\/\/bret.appspot.com\/entry\/tornado-web-server friendfeed website: http:\/\/friendfeed.com some details: Tornado is a non-blocking Web server framework written in [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"ngg_post_thumbnail":0,"footnotes":""},"categories":[18,23],"tags":[],"class_list":["post-296","post","type-post","status-publish","format-standard","hentry","category-linux-other-things","category-python"],"_links":{"self":[{"href":"https:\/\/blog.sqawasmi.com\/index.php\/wp-json\/wp\/v2\/posts\/296","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.sqawasmi.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.sqawasmi.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.sqawasmi.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.sqawasmi.com\/index.php\/wp-json\/wp\/v2\/comments?post=296"}],"version-history":[{"count":6,"href":"https:\/\/blog.sqawasmi.com\/index.php\/wp-json\/wp\/v2\/posts\/296\/revisions"}],"predecessor-version":[{"id":302,"href":"https:\/\/blog.sqawasmi.com\/index.php\/wp-json\/wp\/v2\/posts\/296\/revisions\/302"}],"wp:attachment":[{"href":"https:\/\/blog.sqawasmi.com\/index.php\/wp-json\/wp\/v2\/media?parent=296"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.sqawasmi.com\/index.php\/wp-json\/wp\/v2\/categories?post=296"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.sqawasmi.com\/index.php\/wp-json\/wp\/v2\/tags?post=296"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}