Frage

Ich arbeite an einem Workload -Test von Node.js und bin gerade auf ein interessantes Verhalten gestoßen. Die minimale Reaktionszeit eines HTTP -Servers beträgt 200 ms, selbst für die einfachste Logik:

var http = require("http");

http.createServer(function(request, response) { 

  response.write("Hello World");
  response.end();

}).listen(8080);

Ran unter Windows Server 2003:

> node main.js

Ich habe das Web durchsucht, aber keine Informationen dazu gefunden. Der Test erfolgt im lokalen Netzwerk. Mit der Verwendung anderer Webserver (nämlich IIS) kann ich eine sofortige Reaktionszeit erreichen. Versteh mich nicht falsch, ich sehe eine rationale Erklärung hinter diesem Verhalten, also ist dies meine Frage:

Ist das der Standardverhalten Mit Node.js kommen oder das Ergebnis von etwas anderem sein?

Klarstellung auf Nachfrage:

  • Knoten JS Version: 0.6.11
  • Betriebssystem: Windows Server 2003 R2 SP2
  • Serverumgebung: VMware Workstation 8.0.0
  • Dienstprogramm Workload: JMeter 2.6 (1 Thread Workload)

Aktualisieren

Das Verzögerungsverhalten wird nur während Fernanfragen angezeigt. Wenn ein lokaler Workload -Test ausgeführt wird, liegt die Latenz nahe Null. Es kann jedoch kein Problem mit der Netzwerklatenz sein, da eine Remote -Anfrage gegen IIS auf demselben Server keine Latenz enthält. Ich werde das bei anderen Osen ausprobieren.

War es hilfreich?

Lösung

Es ist Nagle -Algorithmus standardmäßig auf Windows (reproduzierbar auch unter Windows 2008 R2 auf Azure).

Problemumgehung - Deaktivieren Sie es auf Reaktionssocket wie folgt:

response.connection.setNoDelay(true);

Andere Tipps

Erhalten Sie eine Latenz von 5 ms, 3 ms herunterladen für insgesamt 8 ms hier. Es variiert, aber das höchste, das ich gesehen habe, ist insgesamt 14 ms.

Lief jedoch unter OS X 10.7.3. Ich werde es mit Windows versuchen und sehen müssen.

Ich leite Ubuntu 64bit und Knotenversion 0,6.10 aus und ich bekomme höchstens eine Verzögerung von 20 ms. Ich glaube, es ist ein Windows -Problem, da der Knoten unter Windows immer noch nicht perfekt ist, müssen Sie auf eine weitere Stabilität warten. Ich empfehle Ihnen, Ihre Probleme in die Mailingliste zu veröffentlichen.

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