Tornado (Webserver)

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Tornado
TornadoWebServerLogo.png
Entwickler Facebook, Bret Taylor
Erscheinungsjahr 2009
Aktuelle Version 3.0.1
(8. April 2013)
Betriebssystem plattformunabhängig
Programmier­sprache Python
Kategorie Web Application Framework
Lizenz Apache-Lizenz 2.0
www.tornadoweb.org

Tornado ist ein freier, nicht-blockender Webserver, sowie ein einfaches Mikro-Webframework in Python.[1] Die Entwicklung begann bei FriendFeed und wurde unter einer Open-Source-Lizenz veröffentlicht[2][3], nachdem es zur Übernahme von FriendFeed durch Facebook kam.[4]

Leistung[Bearbeiten]

Anfragen an den Tornado Webserver werden nicht blockend bearbeitet (unter Linux mit epoll, unter BSD mit kqueue)[5] und ermöglicht damit eine sehr große Anzahl an Anfragen gleichzeitig zu bearbeiten und aufrechtzuerhalten. Die Entwicklung erfolgte mit dem Hintergrund des C10K-Problems[6] und Benchmarks zeigen Zahlen von fast 10.000 bearbeiteten Anfragen pro Sekunde.

Performance on AMD Opteron, 2.4 GHz, four cores[7]
Server Setup Anfragen pro Sekunde
Tornado Mit der geläufigen produktiven Umsetzung von 4 Tornadoinstanzen und nginx als Proxy. 8213
Tornado Standalone 3353
Django Apache/mod_wsgi 2223
web.py Apache/mod_wsgi 2066
CherryPy Standalone 785

Module[Bearbeiten]

Tornado stellt Mixins für die Authentifizierungssysteme OpenID und OAuth zur Verfügung, mit vereinfachter Anbindung an die Authentifizierungsschnittstellen von Google, Facebook Connect und Twitter.

Mit dem Decorator tornado.web.asynchronous werden Anfragen nicht direkt beendet, sondern aufrechterhalten. Eine Beispielanwendung von Tornado zeigt die Verwendung im FriendFeeds Chatsystem.

Daneben stehen die gängigen Komponenten eines Mikro WebFrameWorks zur Verfügung:

Einzelnachweise[Bearbeiten]

  1. Hauptseite des Tornado Projects (englisch) Abgerufen am 5. April 2013.
  2. Liste der OpenSource Projecte von Facebook (englisch) Abgerufen am 5. April 2013.
  3. Talking about Tornado (englisch) 25. September 2009. Abgerufen am 22. Oktober 2013.
  4. Facebook Acquires FriendFeed (englisch) 10. September 2009. Abgerufen am 22. Oktober 2013.
  5. Installationshinweis zu Tornado (englisch) Abgerufen am 5. April 2013.
  6. Dory, Michael, Adam Parrish, and Brendan Berg. Introduction to Tornado. O’Reilly Media, 2012.
  7. Tornado: Facebook’s Real-Time Web Framework for Python (englisch) 11. September 2009. Abgerufen am 22. Oktober 2013.