Node.js nodejs socket.io只做100%cpu连接

Node.js nodejs socket.io只做100%cpu连接,node.js,sockets,socket.io,Node.js,Sockets,Socket.io,我不熟悉nodeJs和socket.io,当我运行它时,当我在站点中有大约800个用户时,它会达到cpu 100%(cpu在14-103%之间跳跃)。 起初,我看到的问题是,每隔几分钟,所有用户都会断开连接,然后在几秒钟后重新连接,所以我注释掉了所有代码,最后都是on connect和on disconnect。。 仍然在5分钟后cpu达到跳跃cpu 14-100%。。 我不知道该检查什么,因为除了最基本的东西外,没有其他东西。。 节点版本-0.10.25 socket.io版本-1.0 代码片

我不熟悉nodeJs和socket.io,当我运行它时,当我在站点中有大约800个用户时,它会达到cpu 100%(cpu在14-103%之间跳跃)。 起初,我看到的问题是,每隔几分钟,所有用户都会断开连接,然后在几秒钟后重新连接,所以我注释掉了所有代码,最后都是on connect和on disconnect。。 仍然在5分钟后cpu达到跳跃cpu 14-100%。。 我不知道该检查什么,因为除了最基本的东西外,没有其他东西。。 节点版本-0.10.25 socket.io版本-1.0 代码片段-

var redis = require('redis').createClient(),
    server = require('http').createServer(),
    request = require('request'),
    io = require('socket.io').listen(server),
    sockets = {};
//  , memcache = require('memcache')
//  , cookie = require('cookie')

// run HTTP server on this port
server.listen(3000);

console.log('started node sockets.');

// only allow authenticated connections - TODO: check if its doing anything.. :x
io.set('authorization', function(handshake, callback)
{
  return callback(null, true);

});

io.sockets.on('connection', function(socket)
{
  var id = getUserId(socket);
  if( id === false) return;
// store user's socket
  sockets[id] = socket;
  console.log('User ' + id + ' connected');
  request({url:"http://www.-----.co/nodeConnect", qs:{id: id}},function(){})


  socket.on('disconnect', function()
  {
    id = getUserId(socket);
    if( id === false ) return;
// store user's socket
    delete sockets[id];
    console.log('User ' + id + ' disconnect');
    request({url:"http://www.----.co/nodeDisconnect", qs:{id: id}},function(){});

});

function getUserId(socket) {
  if( typeof socket.handshake.headers.cookie == 'undefined' ) return false; // HOTFIX - check it
  var cookie = socket.handshake.headers.cookie;
  var startAt = cookie.indexOf('; uid=') + 6;
  var tempUid = cookie.substr(startAt);
  return tempUid.substr(0, tempUid.indexOf(';') ); // return id.
}
服务器是一个非常强大的服务器,32cpu,120gb ram。运行nginx、php、nodejs大约1000 ppl。。 我应该检查一下让它在不消耗我所有cpu的情况下运行吗?
顺便说一句,这个节点应用程序实际应该使用多少cpu?

问题是连接和断开连接中的请求太慢,而且由于大量流量,cpu被占用了。

您能分享您的修复方案吗?谢谢