我正在寻找一个服务器的硬件规格的建议,该服务器需要为大约2,000个并发连接的用户提供一个web缓存。客户端正在以150 2mbps至2 2mbps的比特率观看分段HTTP视频。大多数视频是“现场”,意思是每段2-10秒,其中大约100段是一次维护的。还有一些预先录制的固定长度视频.我将如何为这样的服务器进行配置计算:什么样的HDD (SSD?)、多少NIC、多少RAM等等?我正在考虑在Linux上使用Varnish,所有我能得到的RAM,两个CPU,每个CPU有6-8个核。
发布于 2011-07-01 02:05:37
Varnish能够在不同的会话之间共享对象吗?换句话说,您的体系结构是否使得由视频流客户端加载的对象是/somestream/1h42m0s-1h42m10s/,而不是/somestream/for/joeuser?在这种情况下,根据您所描述的,我将跳过SSD,只需使用大量的RAM;如果配置了malloc池,Varnish实际上并不需要磁盘存储。记得把swappiness关小一点。另一方面,如果Varnish只是将每个请求都传递到后端,那么您所得到的最多不过是一些SYN洪水保护。
我见过瓦尼什很高兴地把多个千兆字节推到门外,但确保上面的每一件东西都知道如何处理这种流量。有些防火墙(为保护罪犯而修改的名称)几乎无法处理100 Mbit/s,更不用说你所说的那种流量(4 Mbit/S),如果所有这些连接都以2 Mbit/ can的速度饱和了连接。对于NIC来说,即使是10 Mbit端口也可能对你有帮助;如果你需要,你也可以用GigE做一些愚蠢的通道连接,但为什么要麻烦呢?只需得到一个10G端口(或三个),并结束一天。
对于服务器本身,您根本不需要太多的CPU,但需要最大限度的RAM。如果你愿意的话,可以在里面放几个快速磁盘,但它们存在的唯一原因是为了启动。清漆是一台非常非常苗条的服务器。当视频从RAM中旋转出来时,你可以进行多级缓存并尝试将视频卸载到硬盘上,但为什么呢?它们已经被缓存到内容服务器上的磁盘上;这并不像Varnish服务器上的磁盘神奇地更好。把钱花在更多的内存上。说真的,考虑到你所说的带宽类型,你不应该对64或96 GB的带宽视而不见。
在不相关的建议中,如果您在那些流服务器上的任何一点上都使用磁盘,则绝对应该使用SSD(或者更奇特的选项,如FusionIO)。对于流应用程序,当人们在同一文件的不同部分进行流时,您在磁盘上跳过一遍,SSD不仅仅是稍微好一点;实际上,它们是您唯一的理性选择。
https://serverfault.com/questions/285998
复制相似问题