Frage

Ok, Tornado ist nicht blockierende und recht schnell und es kann eine Menge von stehenden Anfragen leicht handhaben.

Aber ich denke, es ist kein Allheilmittel, und wenn wir nur blind laufen Django-basierte oder andere Seite mit Tornado es wird keine Leistungssteigerung geben.

Ich konnte nicht alle Informationen Erklärung dafür finden, so dass ich es bin gefragt hier:

  • Wann sollte Tornado verwendet werden?
  • Wann ist es nutzlos?
  • Wenn Sie es, was berücksichtigt werden sollte?
  • Wie können wir ineffizient Website mit Tornado?
  • Es ist ein Server und ein webframework. Wann sollten wir Rahmen und wann können wir es mit anderen ersetzen?
War es hilfreich?

Lösung

  

Es ist ein Server und ein webframework. Wann sollten wir Rahmen und wann können wir es mit anderen ersetzen?

Diese Unterscheidung ist ein bisschen verschwommen. Nur wenn Sie statische Seiten dienen, würden Sie einen der schnellen Server wie Light verwenden. Andere weisen, die meisten Server eine unterschiedliche Komplexität von Rahmen Web-Anwendungen zu entwickeln. Tornado ist ein guter Web-Framework. Twisted ist noch in der Lage und ist eine gute Vernetzung Rahmen betrachtet. Es hat Unterstützung für viele Protokolle.

Tornado und verdrillt sind Rahmenbedingungen, die Unterstützung nicht-blockierend bieten, asynchrone Web / Vernetzung Anwendungsentwicklung.

  

Wann sollte Tornado verwendet werden?   Wann ist es nutzlos?   Wenn es verwendet wird, was berücksichtigt werden sollte?

Durch es ist sehr Natur, Async / Non-Blocking I / O funktioniert gut, wenn es I / O-intensive und nicht rechenintensiv. Die meisten Web / Networking-Anwendungen passen gut für dieses Modell. Wenn Ihre Anwendung bestimmt rechenintensive Aufgabe verlangt dann getan werden muss, um es zu einem anderen Dienst delegiert werden, dass es besser umgehen kann. Während Tornados / Verdrehte den Job von Web-Server tun, reagiert auf Web-Anfragen.

  

Wie können wir ineffiziente Website machen mit Tornado?

  1. Sie irgend etwas rechenintensive Aufgabe
  2. Führen Sie blockieren Operationen
  

Aber ich denke, es ist kein Allheilmittel, und wenn wir nur blind laufen Django-basierte oder andere Seite mit Tornado es wird keine Leistungssteigerung geben.

Die Leistung ist in der Regel ein Merkmal der kompletten Web-Anwendungsarchitektur. Sie können die Leistung mit den meisten Web-Frameworks bringen, wenn die Anwendung nicht richtig ausgelegt ist. Denken Sie über Caching, Load-Balancing usw.

Tornado and Twisted bietet angemessene Leistung und ist gut für eine sehr performante Web-Anwendung zu bauen. Sie können die Bewertungen für beide verdreht Check-out und Tornado zu sehen, was sie fähig sind.

Andere Tipps

Es tut mir leid für eine alte Frage zu beantworten, aber ich kam in dieses ein und fragte sich, warum es nicht mehr Antworten hatte. Bart J Frage zu beantworten:

  

Ich mag RSS-Feeds in der Tornado-Anwendung analysieren. Würde man bedenkt, dass ziemlich rechenintensiv?

Nun, die Art ab, die Sie auf das, was der Parsen tun und auf welche Hardware :) Lange Zeit ist eine lange Zeit, so dass, wenn Ihre Anwendung mehr als etwa eine halbe Sekunde zu reagieren dauert, wird es träge scheinen - Profil Ihre App.

Der Schlüssel für schnelle Systeme ist großartige Architektur, nicht so sehr die Besonderheiten wie zum Beispiel der Rahmen Sie verwenden (Verdreht, Tornado, Apache + PHP). Tornado hat eine asynchrone Verarbeitung Stil und das ist wirklich das, was eine Menge davon kommt meiner Meinung nach unten. Node.js, Verdreht und Yaws sind Beispiele für anderen asynchronen Web-Server, dass Maßstab sehr gut, weil aus einem leichten Ansatz und asynchroner Verarbeitung Stil.

So:

  

Wann sollte Tornado verwendet werden?

     

Wann ist es nutzlos?

ist Tornado gut für eine Menge von Verbindungen der Handhabung, da sie auf einen eingehenden Client antworten können, versenden Sie einen Request-Handler und denk nicht über diesen Client, bis der Ergebnis-Rückruf auf der Ereignis-Warteschlange geschoben wird. Also für diese spezifische Qualität Tornado sollte verwendet werden, wenn Sie gut skalieren möchten, wenn viele Anfragen Handhabung. Die Asynchron-Verarbeitung erleichtert funktionelle Entkopplung und Shared-Nothing-Datenzugriff. Dass Schaukeln wirklich gut mit staatenlos Design wie REST oder andere Service Architecture s orientiert. Sie müssen auch so viel nicht mit dem Laichen Threads oder Prozessen mit dem inhärenten Aufwand umgehen und Sie können einen Teil der Verriegelungs- / IPC Probleme speichern.

Tornado wird nicht viel Unterschied machen, auf der anderen Seite, wenn Ihr Backend und / oder Datenspeicher eine lange Zeit in Anspruch nimmt, die Anforderungen zu verarbeiten. Es hilft insbesondere gleichzeitige Designs und Web-Services zu tun. Die gleichzeitige Architektur macht es einfacher, Ihr Design zu skalieren und hält die Kopplung gering. Das ist meine Erfahrung mit Tornado mindestens.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top