Время ответа Node.js> = 200 мс? - PullRequest
       34

Время ответа Node.js> = 200 мс?

3 голосов
/ 20 февраля 2012

Я работаю над тестом рабочей нагрузки Node.js и только что столкнулся с интересным поведением. Минимальное время ответа HTTP-сервера составляет 200 мс, даже для самой простой логики:

var http = require("http");

http.createServer(function(request, response) { 

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

}).listen(8080);

Работал в Windows Server 2003:

> node main.js

Я искал в Интернете, но не нашел никакой информации об этом. Тест проводится в локальной сети, кроме того, с использованием другого веб-сервера (а именно IIS) я могу добиться мгновенного времени отклика. Не поймите меня неправильно, я вижу рациональное объяснение этому поведению, так что это мой вопрос:

Это поведение по умолчанию , которое идет с node.js, или это может быть результатом чего-то другого?

Пояснение по запросу:

  • Node js версия: 0.6.11
  • ОС: Windows Server 2003 R2 SP2
  • Серверная среда: VMWare Workstation 8.0.0
  • Утилита рабочей нагрузки: jMeter 2.6 (1-ниточная рабочая нагрузка)

Обновление

Режим задержки появляется только во время удаленных запросов. Если выполняется локальный тест рабочей нагрузки, задержка будет близка к нулю. Однако это не может быть проблемой с задержкой в ​​сети, поскольку удаленный запрос к IIS на том же сервере не дает задержки. Я собираюсь попробовать это на других ОС.

Ответы [ 3 ]

3 голосов
/ 16 апреля 2012

Это алгоритм Nagle, установленный по умолчанию в Windows (воспроизводимый также в Windows 2008 R2 в Azure).

Обходной путь - отключите его в сокете ответа, например:

response.connection.setNoDelay(true);
2 голосов
/ 20 февраля 2012

Получение задержки 5 мс, загрузка 3 мс в общей сложности 8 мс здесь.Это варьируется, но максимальное значение, которое я видел, составляет около 14 мс.Придется попробовать на винде и посмотреть.

1 голос
/ 20 февраля 2012

Я использую Ubuntu 64bit и узел версии 0.6.10, и самое большее я получаю задержку в 20 мс. Я считаю, что это проблема окон, так как Node все еще не идеален для окон, приходится ждать большей стабильности. Я предлагаю вам опубликовать свои проблемы в списке рассылки.

...