webRTC应用程序需要多少托管RAM?

Hel*_*ere 6 deployment hosting node.js socket.io webrtc

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

服务器几乎只传递文本.没有注册,没有数据库,它都在内存中.它会跟踪在线用户列表(在线用户数量)以及所拍摄的房间列表.所以有几个数字列表,它在用户之间传递文本,以便他们可以通过webrtc连接.

现在,显然当(如果)我收到大量流量时,列表可能会有点大,就像每个列表中的10k-20k 5位数字(只有几个大的列表).

所有这些传递,如断开和连接.我需要一台可以快速完成这项工作的服务器,最好是免费的服务器.我的意思是,它只是文字,所以它不应该是那么大的交易,对吧?但我的应用程序的结构是将一个人连接到下一个连接的人.所以,如果一大群人在同一秒内连接,那么我需要一个可以处理到毫秒级的快速托管服务器......这甚至会成为一个问题吗?

如果我只是在数字列表中使用内存(没有数据库),并且传递文本内容,那么我究竟应该在服务器中寻找什么?

Kev*_*vin 2

首先,这件事webrtc本身并没有什么关系。您基本上想要的是一台chat-server将数据从一个服务器发送client到另一个服务器的服务器。
其次,类型与运行它所需的server数量无关。重要的是您将同时拥有RAM多少资源。clients(在某种程度上,即使没有,game servers显然也会消耗更多)。 第三,更多并不意味着处理速度更快。也就是说,如果您没有充分利用可用的,添加更多不会给您带来任何好处。显然,当您超出可用范围时,速度就会开始减慢很多。在这里阅读更多相关信息RAMclients
RAMRAMRAM

现在,解决了这些问题,让我们看看您需要什么。您可以通过将一些连接clients到 a 来进行非常粗略的估计server,看看它使用了多少RAM。检查如果这些人开始互相通话,通话量是否RAM会增加clients以及增加了多少。RAM您现在有x 的最小和最大数量clients。我会用大约 10 个来做这个测试clients

RAM现在您可以进行估计,计算出您的预期用户群的最小值和最大值是多少。从现在开始,它将变得越来越受欢迎,但我至少会将该数量加倍,然后四舍五入到RAM“有意义”的最接近的数量(14.7GB 变为 16GB,28.32GB 变为 32GB 等...... )

我要补充一点,根据我自己处理webrtc大约 1000-1500 个并发用户的经验,8GB 就足够了。但这实际上取决于您期望的用户数量。

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