Tornado (Webサーバ)
Pythonで書かれたスケーラブルでノンブロッキングなWebサーバ・Webフレームワーク
TornadoはPythonで書かれたスケーラブルでノンブロッキングなWebサーバ、Webフレームワークである。FriendFeedによって開発され、Facebookに吸収されたのちにオープンソース化された。
作者 | FriendFeed |
---|---|
開発元 | Facebook, Bret Taylor |
初版 | 2009 |
最新版 | |
リポジトリ | |
プログラミング 言語 | Python |
対応OS | Cross-platform |
対応言語 | English |
サポート状況 | Active |
種別 | Webサーバ |
ライセンス | Apache_License 2.0 |
公式サイト |
www |
パフォーマンス
編集Tornadoで特筆すべきはそのパフォーマンスである。C10K問題の解決に挑み、他のサーバにも影響を与えた。下記の表はTornadoと他のPythonサーバを比べたベンチマークである:
サーバ | セットアップ | 秒間のリクエスト数 |
---|---|---|
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()
モジュール
編集出典
編集- ^ “Release 6.4.2” (22 11月 2024). 1 12月 2024閲覧。
- ^ “Tornado: Facebook's Real-Time Web Framework for Python”. Facebook. 2009年9月10日閲覧。