Tornado (Webサーバ)

TornadoはPythonで書かれたスケーラブルでノンブロッキングなWebサーバ、Webフレームワークである。FriendFeedによって開発され、Facebookに吸収されたのちにオープンソース化された。

パフォーマンス
Tornadoで特筆すべきはそのパフォーマンスである。C10K問題の解決に挑み、他のサーバにも影響を与えた。下記の表はTornadoと他のPythonサーバを比べたベンチマークである:
+ 条件: AMD Opteron, 2.4 GHz, 4コア  サーバ  セットアップ  秒間のリクエスト数  Tornado  nginx, four frontends  8213  Tornado  One single-threaded frontend  3353  Django  Apache/mod_wsgi  2223  web.py  Apache/mod_wsgi  2066  CherryPy  Standalone  785

 サンプル 
以下のサンプルコードは、http://localhost:8888にアクセスすると"Hello, world"を表示するサンプルである。
import tornado.ioloop
import tornado.web

class MainHandler(tornado.web.RequestHandler):
    def get(self):
        self.write("Hello, world")

application = tornado.web.Application([
    (r"/", MainHandler),
])

if __name__ == "__main__":
    application.listen(8888)
    tornado.ioloop.IOLoop.instance().start()

モジュール
 MongoDBを簡単に使えるようにするasyncmongo、Motor
 corduroyとtrombiではCouchDBが簡単に扱える

出典

外部リンク
 Tornadoウェブサイト
 GitHubプロジェクトページ
 Tornado Googleグループ

Category:オープンソースソフトウェア
Category:Pythonでプログラムされた自由ソフトウェア
Category:ウェブアプリケーションフレームワーク
Category:Metaのソフトウェア