Domanda

Sto lavorando a un test di carico di lavoro Node.js e ho appena riscontrato un comportamento interessante. Il tempo di risposta minimo di un server HTTP è di 200 ms, anche per la logica più semplice:

var http = require("http");

http.createServer(function(request, response) { 

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

}).listen(8080);

Eseguito su Windows Server 2003:

> node main.js

Ho cercato sul Web, ma non ho trovato alcuna informazione al riguardo. Il test viene eseguito sulla rete locale, inoltre con l'uso di altri server Web (vale a dire IIS) posso ottenere tempi di risposta istantanei. Non fraintendetemi, vedo una spiegazione razionale dietro questo comportamento, quindi questa è la mia domanda:

È questo il Comportamento predefinito Venire con Node.js o potrebbe essere il risultato di qualcos'altro?

Chiarimenti su richiesta:

  • Node JS Versione: 0.6.11
  • OS: Windows Server 2003 R2 SP2
  • Ambiente del server: VMware Workstation 8.0.0
  • Utilità del carico di lavoro: JMeter 2.6 (1 thread Workload)

Aggiornare

Il comportamento di ritardo appare solo durante le richieste remote. Se viene eseguito un test di carico di lavoro locale, la latenza sarà vicina allo zero. Tuttavia, non può essere un problema di latenza di rete, poiché una richiesta remota contro IIS sullo stesso server non dà latenza. Lo proverò su altri sistemi operativi.

È stato utile?

Soluzione

È algoritmo Nagle impostato per impostazione predefinita su Windows (riproducibile anche su Windows 2008 R2 su Azure).

Soluzione alternativa: disabilitalo sulla presa di risposta, come questa:

response.connection.setNoDelay(true);

Altri suggerimenti

Ottenere latenza 5ms, download 3ms per un totale di 8 ms qui. Varia ma il più alto che ho visto è di circa 14 ms in totale.

Ha funzionato su OS X 10.7.3 però. Dovrò provare le finestre e vedere.

Sto eseguendo Ubuntu 64 bit e nodo versione 0.6.10 e al massimo ottengo un ritardo di 20 ms. Credo che sia un problema di Windows, poiché il nodo non è ancora perfetto su Windows, devo aspettare un po 'più di stabilità. Ti suggerisco di pubblicare i tuoi problemi alla mailing list.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top