Es tut mir leid, dass ich eine alte Frage beantwortet habe, aber ich bin auf diese gestoßen und habe mich gefragt, warum sie nicht mehr beantwortet wurde. Um Bart Js Frage zu beantworten:
Ich möchte RSS-Feeds in der Tornado-Anwendung analysieren. Würden Sie das als ziemlich rechenintensiv betrachten?
Nun, das hängt davon ab, welche Art von Analyse Sie durchführen und auf welcher Hardware :) Lange Zeit ist eine lange Zeit. Wenn Ihre App also mehr als eine halbe Sekunde braucht, um zu antworten, wird es träge erscheinen - profilieren Sie Ihre App.
Der Schlüssel zu schnellen Systemen ist eine großartige Architektur, nicht so sehr die Besonderheiten als vielmehr das verwendete Framework (Twisted, Tornado, Apache + PHP). Tornado hat einen asynchronen Verarbeitungsstil und genau darauf kommt es meiner Meinung nach an. Node.js, Twisted und Yaws sind Beispiele für andere asynchrone Webserver, die sich aufgrund ihres einfachen Ansatzes und ihres asynchronen Verarbeitungsstils sehr gut skalieren lassen.
So:
Wann sollte Tornado angewendet werden?
Wann ist es nutzlos?
Tornado eignet sich für die Verarbeitung vieler Verbindungen, da es auf einen eingehenden Client antworten, einen Anforderungshandler versenden und nicht an diesen Client denken kann, bis der Ergebnisrückruf in die Ereigniswarteschlange verschoben wird. Für diese spezielle Qualität sollte Tornado verwendet werden, wenn Sie bei der Bearbeitung vieler Anfragen gut skalieren möchten. Die asynchrone Verarbeitung erleichtert die funktionale Entkopplung und den Zugriff auf gemeinsam genutzte Daten. Das passt sehr gut zu staatenlosem Design wie REST oder anderen serviceorientierten Architekturen . Sie müssen sich auch nicht so sehr mit dem Laichen von Threads oder Prozessen mit dem inhärenten Overhead befassen, und Sie können einige der Sperr- / IPC-Probleme sparen.
Tornado macht andererseits keinen großen Unterschied, wenn die Verarbeitung der Anforderungen in Ihrem Backend und / oder Datenspeicher lange dauert. Dies hilft insbesondere bei gleichzeitigen Designs und Webdiensten. Die gleichzeitige Architektur erleichtert die Skalierung Ihres Designs und hält die Kopplung niedrig. Das ist zumindest meine Erfahrung mit Tornado.