Как выдерживать большую нагрузку на сервер node.js?
Если у Вас уже все написано, то не нужно переписывать, просто добавьте cluster, тут пример: stackoverflow.com/questions/18310635/scaling-socke...
Но вообще, на будущее, для таких вещей не нужен ни cluster, ни socket.io, они только мешают и не решают ни каких дополнительных проблем, на сервере лучше делать столько процессов, сколько ядер и на каждом открывать отдельный порт, например: 80, 81, 82... Отключать все балансировщики, и программные и аппаратные, не пропускать через nginx и через cluster, это тоже балансировщики, по сути. А выбирать порт рандомно на клиенте. Для такой машинки как ваша при использовании просто обычных Websocket'ов, без всяких библиотек-оберток как на клиенте, так и на сервере, можно держать без проблем до 150.000 соединений.
Или написать на нормальный компилируемый язык c# (ASP.NET, NET core) например, и не WebSocket, а гонять простые байты через tcp/udp/socket.
И я знаю что вопрос написан три года назад, на будущее.