Tornado (Webサーバ)

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動先: 案内検索
Tornado
TornadoWebServerLogo.png
作者 FriendFeed
開発元 Facebook, Bret Taylor
初版 2009
最新版 4.4.3 / 2017年3月30日(53日前) (2017-03-30
リポジトリ github.com/tornadoweb/tornado.git
プログラミング言語 Python
対応OS Cross-platform
対応言語 English
サポート状況 Active
種別 Webサーバ
ライセンス Apache_License 2.0
公式サイト www.tornadoweb.org
テンプレートを表示

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

パフォーマンス[編集]

Tornadoで特筆すべきはそのパフォーマンスである。C10K問題の解決に挑み、他のサーバにも影響を与えた。下記の表はTornadoと他のPythonサーバを比べたベンチマークである:

条件: AMD Opteron, 2.4 GHz, 4コア[1]
サーバ セットアップ 秒間のリクエスト数
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

サンプル[編集]

以下のサンプルコードは、ルートパスにアクセスすると "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()

モジュール[編集]

出典[編集]

外部リンク[編集]