Nodejs&Socket.io可以支持多less用户?

我有一个实现了broadcast.emit的网站。 向该网站的所有用户发送消息。 这只是socket.io的最简单的实现,但我目前有一个问题。 当我打了大约100个并发用户。 nodejs服务器开始滞后,直到它挂起,我不能再访问我的整个网站。 当我们检查服务器。 nodejs占用CPU的100%。 这是正常的吗?

我想知道有多less用户可以socket.io支持? 而当这件事情发生有一种方式来重新启动nodejs服务器编程?

至less有250k个并发连接(对于大多数使用情况瓶颈是内存)

我有一个多人纸牌游戏。 Socket.io使我的CPU在大约3000个并发用户中最大化。 这是在Intel i7 CPU上。 因此,我必须运行多个节点/ socket.io进程来处理负载。

对于100个并发连接,你应该没问题。 也许你正在使用一些VPS和CPU是与所有其他虚拟机共享? 你运行一个专门的服务器?

另外,请检查您的代码。 你可能会同步做一些应该asynchronous的东西。

向所有客户传递消息而不丢弃它是否至关重要? 如果不是,我会build议使用socket.volatile.emit调用。 远程客户端和非稳定连接可能会有很多问题。