我正在开发聊天应用程序。底层服务器使用Node.js,客户端/服务器通信通过WebSockets。
所以问题是:这样的服务器可以处理多少个同时连接(没有可见的滞后)?当然大约和假设服务器是非常强大的机器。我知道这不是一个容易回答的问题,但我只想要一些想法,一些近似值......或者至少是上限和下限。当然我会做一些实际测试,但理论可能对我有所帮助。
此外,我还有另一个与第一个相关的问题:是否可以将Node.js应用程序拆分为多台计算机?请记住,大多数数据都保存在机器内存而不是数据库中。
等待回复。 :)
答案 0 :(得分:1)
您需要确保在epoll / kqueue之上运行node.js并调整操作系统以获得高TCP连接数。
以下是基于Autobahn WebSockets的发布/订阅系统的几个测量数字:
这是在配置有2个内核和2GB RAM的FreeBSD i386虚拟机上。
Autobahn WebSockets基于Python / Twisted并在kqueue反应器上运行。
答案 1 :(得分:0)
我做了simple benchmark of a multiroom chat application。只记得在运行它时监控CPU%,基准测试应用程序可能会比服务器更快耗尽CPU!