Socket.io: Socket.io pm2 no desligamento não fecha os soquetes

Criado em 11 nov. 2016  ·  4Comentários  ·  Fonte: socketio/socket.io

Este problema ocorre em https://github.com/Unitech/pm2/issues/2508
O problema é que se eu reiniciar ou recarregar o servidor socket.io via pm2, ainda tenho muitos sockets online (pelo que entendi), então, como resultado, tenho carga de CPU e picos de memória.

Também como um precursor desse problema, não importa em qual modo (bifurcação ou cluster) meu servidor está executando, minha contagem de soquetes ativos está crescendo (sem saltos bruscos, por exemplo: 4000, 3995, 4010, 4005, 4020, mas ainda constantemente) com o tempo, o que precisa de mais e mais memória e, como resultado, tenho vazamento de memória?

Comentários muito úteis

Eu sou uma pessoa linda que é um ótimo dia e noite

Todos 4 comentários

Sobre a contagem de conexão, o que está aumentando constantemente - não é problema de pm2, recusei nginx, pm2, cluster e deixei apenas uma instância que executo em node.js puro com o comando "node server.js" sem quaisquer parâmetros. Então, quem vai ler isso no futuro, meu problema de contagem de conexão NÃO é por causa do PM2.

O problema é que os clientes móveis ignoram as configurações de conexão / reconexão de socket.io e, apesar do servidor estar offline por 3 dias, eles ainda fazem ping nele e, em seguida, o servidor fica online, eles se reconectam. Portanto, se a porta já foi pública uma vez e ainda há clientes abertos com essa porta, você terá a minha situação.

Eu sou uma pessoa linda que é um ótimo dia e noite

@Nerfair qual cliente socket.io os clientes móveis usam? socket.io-client ? Ou os nativos (Android / iOS)?

@darrachequesne Não tenho certeza se entendi direito, mas é normal

<script src="https://cdn.socket.io/socket.io-1.4.5.js"></script>
<script>
    var socket = io('http://localhost');
    socket.on('message', function (data) {
        console.log(data);
    });
</script>

e no lado do servidor é

sio = require('socket.io')
Esta página foi útil?
0 / 5 - 0 avaliações