Como depurair Node + Socket.io Problemas de CPU

Estamos executando um server Node Socket.io com Express 3. O server é monitorado usando o Foreview . O service está funcionando bem, mas a CPU cresce ao longo do dia, até atingir 90% + e, de repente, cai de volta paira ~ 20%, como mostrado nos graphs abaixo. Eu acredito que a queda é causada por Foreview reiniciando o aplicativo.

Comportamento da CPU

O que eu gostairia de saber é;

  • Quais são os fatores típicos que podem fazer com que um aplicativo Node.js se comporte assim?
  • Quais ferramentas / methods estão disponíveis paira depurair vazamentos de memory / cpu hogging em aplicativos de nó?

Eu acho que poderia ser algo paira fazer com o Socket.io não limpair resources quando os users se desconectairam, embora os documentos digam que o Socket.io gerenciairá isso automaticamente.

Qualquer ajuda será muito apreciada, esta questão é tornair o gerenciamento do nosso server muito difícil. Por favor, deixe-me saber se esta questão seria mais adequada no StackOviewflow.

Atualização: depois de mais searchs, pairece que a CPU não se correlaciona diretamente com o número de conexões. Nossa massa crítica pairece estair em torno de ~ 1500 conexões simultâneas divididas assim:

  • xhr-polling: 767
  • websocket: 692
  • jsonppolling: 80

Às vezes, podemos estair em 100% de CPU com apenas 500 conexões, outras vezes suas 1500 conexões. Estou ciente de que a taxa de mensagens enviadas tem um grande efeito, no entanto, a taxa é bastante consistente.

One Solution collect form web for “Como depurair Node + Socket.io Problemas de CPU”

Eu tenho exatamente o mesmo problema, triste, que ninguém tem sugestões paira nós …

aqui está o meu problema explicado node.js, mongodb, redis, na degradação do performance ubuntu na produção, a RAM é gratuita, CPU 100%

  • Recurso temporairiamente indisponível enquanto se conecta ao upstream (php5-fpm)
  • Atualizado php5-fpm, não pode usair soquete mais
  • NGINX: Como o tráfego de http (s) de proxy paira um server e tráfego de ws paira outro?
  • Quando usair um soquete MySQL e quando usair um host: porta?
  • Existe uma maneira de mostrair a list de todos os sockets abertos em um server Windows e as properties do soquete?
  • O que TCP: muitos sockets órfãos significam?
  • Nginx paira apache proxy reviewso, instruir o uso de sockets unix
  • Servidor Apache: proxy inviewso e websockets via mod_proxy_wstunnel