Tornado (Webサーバ)

Tornado
作者 FriendFeed
開発元 Facebook, Bret Taylor
初版 2009
最新版
6.4.0[1] ウィキデータを編集 / 2023年11月29日 (5か月前)
リポジトリ
  • github.com/tornadoweb/tornado
ウィキデータを編集
プログラミング
言語
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コア[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()

モジュール

  • MongoDBを簡単に使えるようにするasyncmongo、Motor
  • corduroyとtrombiではCouchDBが簡単に扱える

出典

  1. ^ “Release 6.4.0” (29 11月 2023). 19 12月 2023閲覧。
  2. ^ “Tornado: Facebook's Real-Time Web Framework for Python”. Facebook. 2009年9月10日閲覧。

外部リンク

  • Tornadoウェブサイト
  • GitHubプロジェクトページ
  • Tornado Googleグループ
比較(英語版)
主要
その他
  • AOLserver(英語版)
  • Caddy
  • Caudium
  • Cherokee(英語版)
  • GlassFish
  • Gunicorn
  • H2O
  • Hiawatha(英語版)
  • iPlanet
  • Jetty
  • JEUS(英語版)
  • Jexus(英語版)
  • JOnAS
  • lighttpd
  • Mongoose(英語版)
  • Mongrel2(英語版)
  • Monkey(英語版)
  • NaviServer(英語版)
  • NetWeaver(英語版)
  • OpenResty(英語版)
  • Passenger
  • Paste(英語版)
  • POCO
  • Puma
  • PyGopherd(英語版)
  • Resin(英語版)
  • Roxen(英語版)
  • thttpd
  • Tomcat
  • Tornado
  • Traffic Server(英語版)
  • Twisted
  • WebLogic(英語版)
  • WEBrick
  • WebSphere
  • WildFly
  • Yaws(英語版)
  • Zope
歴史的
  • Boa(英語版)
  • CERN httpd
  • Mongrel(英語版)
  • NCSA HTTPd
  • Xitami(英語版)
  • Zeus(英語版)