0

Using a nodejs server and client with socket.io I can let 14k clients connect. Slightly less even when using clustering.

Neither CPU or RAM are exhausted. Except for the automatic ping that socket.io does by itself no data is transmitted.

The transport is set to only use 'websocket', no polling!

More clients just fail with the reason "timeout".

What could cause this?

I could understand if the machine is not powerful enough. But then I would expect the server to randomly drop clients anyway and not stay at a specific amount everytime I try it.

Edit: this is on Windows using web storm, I will test on a Linux machine when I can.

Riki
  • 1,776
  • 1
  • 16
  • 31
  • 1
    Maybe this issue with socket.io is related to your problem: https://github.com/primus/primus/issues/355 – Jasper Jun 22 '16 at 20:31
  • Unfortunately no, another program written in c# using normal tcp sockets does not have that problem. Also when I use clustering the number is lower for no reason. – Riki Jun 22 '16 at 20:37

1 Answers1

0

I had a similar issue when testing https://www.codiva.io with socket.io . The issue there was the limit on the number of open file descriptor and thus the number of ports. It was in Ubuntu Linux, where the default limit was around 4k. This might be related to that.

JackDaniels
  • 985
  • 9
  • 26
  • On the windows machine I'm testing on I am able to open 16k+ connections when I write both server and client in c#. – Riki Jun 23 '16 at 07:58