我需要为视频流服务构建基础设施,它能够处理超过 100 个直播流,平均有 50 个观众,其中顶级流可以有多达 5000 个观众。所有流将作为多播服务,不需要额外的转码(输入和输出将是 h.264),不会进行录制。我很好奇有多少流可以处理简单、非专业的服务器(客户托管在 OVH 中)——假设在具有 32gig 内存的四核服务器上?
PS我试过问wowza,但他们的回答并不让我满意(营销的东西,没什么用处)。
我需要为视频流服务构建基础设施,它能够处理超过 100 个直播流,平均有 50 个观众,其中顶级流可以有多达 5000 个观众。所有流将作为多播服务,不需要额外的转码(输入和输出将是 h.264),不会进行录制。我很好奇有多少流可以处理简单、非专业的服务器(客户托管在 OVH 中)——假设在具有 32gig 内存的四核服务器上?
PS我试过问wowza,但他们的回答并不让我满意(营销的东西,没什么用处)。
通常,最大用户数取决于可用的最大硬件。问题还在于您使用的是 RTMP 还是 RTMPT(通过 HTTP 隧道)。HTTP 隧道似乎更需要资源。Red5 和 Wowza 都在内部使用 Apache Mina,因此差异可能不会那么大。
我们在单个会议室中使用 Red5 进行了一些负载测试,大约有 150 人和 250 人。没有任何问题,但是所需的内存将随着需要处理的每 100 个新流而不断增长。
您应该确保以打开文件的最大数量足够大的方式配置服务器。如果太小,您可能会在此处找到有关可能影响的更多信息:http: //blog.thecodingmachine.com/content/solving-too-many-open-files-exception-red5-or-any-other-application
Red5 还提供了某种集群构建。我不知道它的当前状态,但是我认为如果您简单地管理对可用节点的重定向,您也可以轻松地构建具有多个节点的集群。您只需要确保想要连接到同一个流的人应该访问同一个服务器节点。