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
。 (在某种程度上,即使没有clients
, game servers
也会消耗更多的RAM
)。
第三,更多的RAM
并不意味着更快的处理。 也就是说,如果你没有完全使用可用的RAM
,添加更多对你没有任何好处。 显然,当你超过可用的RAM
开始会减慢很多。 在这里阅读更多关于它
现在,让我们看看你需要什么。 你可以做一个非常粗略的估计,通过连接几个clients
server
,看看它使用多lessRAM
。 检查这些clients
开始互相呼叫以及呼叫的次数是否增加。 您现在有x个clients
的最小和最大数量的RAM
。 我会做大约10个clients
testing。
现在您可以进行估算,计算您的预期用户库的最小和最大RAM
数量。 从这里开始,它会变得越来越偏爱,但是我至less会把这个数量加倍,然后凑到最“合理”的RAM
量(14.7GB变成16GB,28.32GB变成32GB等等)。 。)
从我自己的webrtc
经验webrtc
,大约有1000-1500个并发用户,8GB容易。 但是,这确实取决于您期望的用户数量。
在一个侧面的节点上,我非常推荐一个服务器的nodejs
。 这是非常容易使用的,任何知道javascript
(所以基本上任何程序员)的程序员都可以在一两天nodejs
中创build一个chat-server
。 在nodejs中查看这个开源的webrtc服务器