Tornado (Webサーバ)

Pythonで書かれたスケーラブルでノンブロッキングなWebサーバ・Webフレームワーク

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

Tornado
作者 FriendFeed
開発元 Facebook, Bret Taylor
初版 2009
最新版
6.4.2[1] ウィキデータを編集 / 2024年11月22日 (9日前)
リポジトリ ウィキデータを編集
プログラミング
言語
Python
対応OS Cross-platform
対応言語 English
サポート状況 Active
種別 Webサーバ
ライセンス Apache_License 2.0
公式サイト www.tornadoweb.org
テンプレートを表示

パフォーマンス

編集

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

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

モジュール

編集

出典

編集
  1. ^ Release 6.4.2” (22 11月 2024). 1 12月 2024閲覧。
  2. ^ Tornado: Facebook's Real-Time Web Framework for Python”. Facebook. 2009年9月10日閲覧。

外部リンク

編集