硬件要求为400个并发用户的video服务

我需要为至less400个并发用户提供大约150MB的文件(video/audio)。 你会build议什么样的硬件是必需的? 计划使用Ubuntu的OS和Apache的服务。

用于内部networking,而不是通过互联网。

我正在寻找一个有关硬盘速度,内存数量和处理器的想法,你认为这将是必需的。

啊 – 我最喜欢的科目!

大概你只是在播放静态的,预编码的文件吧? 那么你想要做的就是首先计算出你的内容的平均比特率,这为你需要解决的所有其他问题提供了方法。

现在只有150MB的内容可以轻松caching,所以你不必担心你的磁盘速度(尽pipe如果你开始增长这个内容存储,这将会改变)。 所以你需要知道的是这个工作的CPU密集程度如何(提示:可能不是很固定的文件 – 大多数时候你的CPU将等待网卡) – 也就是说你至less需要两个2-3Ghz的CPU ,可能更多但不是愚蠢的数额,除非你预计会有很大的增长,或者你正在使用同一台机器进行代码转换(反正这是一个坏主意) – 我会坚持使用一个socketsXeon(36xx系列)或双socketsXeon(56xx系列)。

你将需要4GB的内存(这是便宜的,更less的是贫民窟,除非机器正在做更多的工作,那么现在高于4GB是毫无意义的)。

确保你有一对镜像对/小型/慢启动/操作系统磁盘,然后有另一对镜像数据磁盘 – 现在我会保存在这里,知道你可以得到更多/更快的磁盘,当内容增加。

对于操作系统,无论你select什么,除了64位,没有任何理由,如果没有64位的驱动程序可用于组件,那么不要把它放在你的机器 – 这些家伙已经有五十年的时间来重写,如果他们不能这样做,那么他们没有足够的努力为你的任何东西。

现在到最重要的位NIC上,你需要两个组合来处理故障 – 找一个大名字,最好是支持中断聚合和TOE / LSO之类的服务器级卡 – 这将有助于许多。 现在你需要弄清楚这些网卡的速度 – 实际上只有两个变种你应该考虑 – 1Gbps和10Gbps。

一个1Gbps的网卡在完全驱动时可以发送〜80-85MBps的stream量 – 对于400个并发数据stream,每个用户可以产生大约200KBps或者大约2Mbps的速度 – 这实际上相当于大约全屏的SD质量。 如果你的内容被编码为这个数字,那么我build议你在第一天使用10Gbps网卡 – 它们通常不会快十倍,因为它们很难“填充”,但是它们会阻止你出现问题问题在第一天。

当然你的整个networking也需要处理这个数量的stream量也不要忘了; 交换机,路由器,防火墙,负载均衡器等都将需要能够清除这种负载 – 当然加上你的实际互联网链接。

祝你好运。

顺便说一句 – 我为大约50万用户做这种事情,大多数在〜1.5Mbps(一些在〜6Mbps)。

发送文件是一个IO活动,所以您的CPU不会因为拉取文件并将其推送给用户而受到巨大的冲击。

我怀疑你可能会想要任何现有的CPU,大量的ram(对于一个服务器来说更好),HDD的速度越高越好。

尽pipe我没有任何具体的数字给予。 只是我最初的想法,希望有人可以通过提供具体的数字/数据来扩大。

你不提到像压缩,编解码器的东西,你只是复制文件,stream媒体,农场出来或单个服务器,这些并发用户,等等…

我想说的最好的build议是获得最快的驱动器,也许RAID 10他们(不知道这是否是一个关键业务系统)与硬件RAID。 获得最好的四核处理器,因为它可能不会像驱动器子系统和网卡一样沉重。 更关心你的网卡是最高质量和千兆速度(如果可能的话,使用正确configuration的思科交换机,将它们组合起来)。 获取尽可能多的内存用于caching目的,64或更多。

现实是这取决于你的实际使用情况。 你有没有testing过这个小规模? 如果是这样,在什么硬件上,它是如何执行的? 你的用户什么时候抱怨性能? 你遇到什么瓶颈?

提出的这个问题在你的实现细节上有点模糊。