webRTC应用需要多less托pipeRAM?

我将主持一个webrtc应用程序。 所有服务器需要做的只是传递消息,如房间号码,候选人,断开连接等,只是传递信息的所有消息。 我正在使用socket.io和node.js。

服务器几乎只是传递文字。 没有login,没有数据库,这一切都在记忆中。 它跟踪在线用户列表(只有多less个在线)以及所用房间列表。 所以列出了几个数字,并在用户之间传递文本,以便他们可以通过webrtc进行连接。

现在,很显然,如果我收到大量的stream量,列表可能会变得很大,例如每个列表中可能有10k-20k的5位数字(只有一些大的列表)。

和所有的传递,如断开连接。 我需要一个服务器,可以做这个东西快,最好是一个免费的服务器。 我的意思是,这只是文字,所以这不应该是一个大问题,对吧? 但我的应用程序是围绕一个人连接到下一个连接的人。 所以,如果大部分人都在同一时间连接,那么我需要一个快速的托pipe服务器,可以处理到毫秒…这将是一个问题吗?

我应该在服务器中寻找什么,如果我只是使用内存的数字列表(无数据库),并传递文本的东西。

首先,这跟webrtc本身没有任何关系。 你基本上想要的是一个chat-server ,一个从一个client向另一个client发送数据的服务器。
其次, server的types与运行所需的RAM数量无关。 重要的是你将同时拥有多lessclients 。 (在某种程度上,即使没有clientsgame servers也会消耗更多的RAM )。
第三,更多的RAM并不意味着更快的处理。 也就是说,如果你没有完全使用可用的RAM ,添加更多对你没有任何好处。 显然,当你超过可用的RAM开始会减慢很多。 在这里阅读更多关于它

现在,让我们看看你需要什么。 你可以做一个非常粗略的估计,通过连接几个clients server ,看看它使用多lessRAM 。 检查这些clients开始互相呼叫以及呼叫的次数是否增加。 您现在有x个clients的最小和最大数量的RAM 。 我会做大约10个clientstesting。

现在您可以进行估算,计算您的预期用户库的最小和最大RAM数量。 从这里开始,它会变得越来越偏爱,但是我至less会把这个数量加倍,然后凑到最“合理”的RAM量(14.7GB变成16GB,28.32GB变成32GB等等)。 。)

从我自己的webrtc经验webrtc ,大约有1000-1500个并发用户,8GB容易。 但是,这确实取决于您期望的用户数量。

在一个侧面的节点上,我非常推荐一个服务器的nodejs 。 这是非常容易使用的,任何知道javascript (所以基本上任何程序员)的程序员都可以在一两天nodejs中创build一个chat-server 。 在nodejs中查看这个开源的webrtc服务器