2012-03-23 1 views
1

Мы используем node.js (версия 0.6.11) для CentOS (версия 6.0) для создания TCP-сервера. В то время как я занимаюсь стресс-тестированием, я обнаружил проблему:Выполнение стресс-тестирования на сервере TCP

Использование ЦП для узла node.js составляет всего около 5-6% при установлении соединения менее 1150. Но он быстро увеличивается до 100% , когда установлено только несколько соединений.

Кто-нибудь знает, почему это работает? Это ошибка в node.js?

Вот демонстрационный код:

var net = require("net"); 
var server = net.createServer(function(socket) 
{ 
    socket.setEncoding("utf8"); 
    socket.on('close', 
     function() 
     { 
      console.log('close'); 
     }); 
    socket.on('disconnect', 
     function() 
     { 
      console.log('disconnect'); 
     }); 
    socket.on("data", function(data) 
     { 
//   console.log("recv");    
     }); 
}); 

server.listen(8080, "192.168.2.105"); 
console.log("Server on 8080"); 
+0

Как вы точно проверите этот код. Кроме того, я бы посоветовал вам опубликовать страницу github issue. – Alfred

+0

Я уже сделал it.https: //github.com/joyent/node/issues/2987#issuecomment-4650835 – seallee

ответ

0

Try обновление до Node.js 0.6.13. Это может быть утечка памяти.

+0

Я сделал глупую ошибку, я забыл изменить количество открытых файлов. – seallee

Смежные вопросы