Hello everyone!
I'm developing a simple game based on
socket.io 9.2 and latest version of node.
I currently have about 500 concurrent users playing and I ran into some problems scaling
socket.io.
At first I used a single cloud server with 16 cores (12 node instances) and almost unlimited memory but after releasing to production the cpu usage started growing very fast.
Restarting node solves the problem for some time but later node eats the cpu time again. I was already using RedisStore so that was very easy to add another box with more node instances, but that did not help a lot.
Unfortunately I have no idea how to go deeper because profiling does nothing on this version of node (as far as I know) and had to stick with reloading the node as far as it eats the cpu.
According to cpu usage graphs I can only say that the cpu usage is not increasing smoothly, in a short period of time the load average goes up from <1 to more than 10.
Any ideas appreciated.