Вопрос

Я работаю над тестированием рабочей нагрузки 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, или это может быть результатом чего -то другого?

Разъяснение по требованию:

  • Узел JS Версия: 0.6.11
  • ОС: Windows Server 2003 R2 SP2
  • Серверная среда: vmware Workstation 8.0.0
  • Утилита рабочей нагрузки: Jmeter 2.6 (1 рабочая нагрузка по потоке)

Обновлять

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

Это было полезно?

Решение

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

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

response.connection.setNoDelay(true);

Другие советы

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

Пробежал на OS X 10.7.3, хотя. Мне придется попробовать в окнах и посмотреть.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top