Question

Je travaille sur un test de charge de travail Node.js et je viens de rencontrer un comportement intéressant. Le temps de réponse d'au moins un serveur HTTP est de 200 ms, même pour la logique simple:

var http = require("http");

http.createServer(function(request, response) { 

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

}).listen(8080);

Ran sur Windows Server 2003:

> node main.js

Je recherche sur le web, mais n'a pas trouvé aucune information à ce sujet. Le test est effectué sur le réseau local, en outre avec l'utilisation d'autres serveur Web (IIS à savoir) Je peux obtenir un temps de réponse instantanée. Ne vous méprenez pas, je vois une explication rationnelle derrière ce comportement, donc ma question est:

Est-ce le comportement par défaut à venir avec Node.js, ou pourrait-il être le résultat de quelque chose d'autre?

Précisions sur la demande:

  • La version de noeud: 0.6.11
  • Système d'exploitation: Windows Server 2003 R2 SP2
  • environnement serveur: VMWare Workstation 8.0.0
  • utilitaire Charges: jMeter 2,6 (1 volume de travail de fil)

Mise à jour

Le comportement de retard apparaissent uniquement lors des requêtes à distance. Si un test de charge de travail locale est exécutée, le temps d'attente sera proche de zéro. Cependant, il ne peut pas être un problème de latence du réseau, car une demande à distance contre IIS sur le même serveur ne pas donner la latence. Je vais essayer sur d'autres systèmes d'exploitation.

Était-ce utile?

La solution

Il est algorithme Nagle défini par défaut sous Windows (reproductible également sous Windows 2008 R2 sur Azure).

Solution - désactiver sur la prise de réponse, comme suit:

response.connection.setNoDelay(true);

Autres conseils

Mise en 5ms de latence, 3ms téléchargement pour un total de 8ms ici. Elle varie, mais le plus élevé que je l'ai vu est d'environ 14ms au total.

Ran sur OS X 10.7.3 cependant. Je vais devoir essayer Windows et voir.

Je suis en cours d'exécution Ubuntu 64bit et noeud version 0.6.10 et au plus j'obtenir un délai de 20ms. Je crois qu'il est un problème de fenêtres, car nœud est toujours pas parfait sur les fenêtres, attendre pour une plus grande stabilité. Je vous suggère de poster vos problèmes à la liste de diffusion.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top