怎样选择硬件产品?
硬件是操作系统运行依赖的平台,同时由于VOD应用的特殊性,对服务器硬件的占用情况比较复杂,VOD服务器的负载比其它应用服务器要重。所以在选择VOD服务器时要根据自己的需求和选择的软件情况来定。测试中,我们关注的硬件资源包括处理器,内存,磁盘和网络,由于这些资源的限制,系统总线暂时不会成为瓶颈。我们结合测试结果分别分析以上内容:
处理器:正如大家所知,处理器是服务器的大脑,是所有应用的基础。在VOD应用中,处理器要接受客户请求,把客户请求的片源分片发送到客户端,对客户的点播记录进行统计等。所以随着并发用户的增加,处理器的负载会加重,点播不同格式的片源对处理器的占用情况也不尽相同,一颗XEON 1.8G的处理器可以负载350个1.5Mbits的并发流或1000个400Kbits的并发流,用户可以根据这个数据和自己的需求来决定选用处理器的类型和数量。当一颗处理器不能满足需求时,可以考虑增加处理器或增加服务器做负载均衡。
内存:内存用来缓存服务器发送给客户端的数据流,内存的占用情况与并发连接数成正比变化。在保证图像传输质量的同时,每一个并发连接占用的内存越少越好,该项数值与软件有关,所以在选择服务器内存的时候要先确定VOD软件,然后根据并发连接数来确定购买服务器内存的配置。
由于软件采用了内存预读取技术,即服务启动之后就根据设置的最大并发数预先抢用内存,所以整个测试过程中内存变化并不大。
磁盘:磁盘可以说是所有应用中负载最重的子系统,由于服务器要从磁盘读取片源内容,所以磁盘会有大量的读操作。当并发用户增多,尤其是较高码率的片源访问,会使磁盘过于繁忙,而成为系统瓶颈。解决的办法就是采用高转速和高传输速率的磁盘,或通过高性能的RAID卡做RAID 0。除此之外,还有一些新的技术可以提高磁盘的使用效率,在一定程度上减轻了磁盘的压力,这些新的技术需要软件支持。
测试数据时8块磁盘做RAID 0,所以测试中单块磁盘的占用情况不是太重,2.3MB/S的读取速率。我们在测试中总结出单块磁盘可以负载1.5Mbits并发流的数目:
以上是单块磁盘的最大极限,当然在实际配置过程中应该流有一定的余量,保证系统稳定运行。而点播几百K的并发流时,一般不会造成磁盘的瓶颈,因为每一个数据流读取的数据量要小很多,在磁盘成为瓶颈之前,处理器会先满负荷。
网卡:测试中我们选用的网卡都是1000M的,因为一块100M网卡只能支持60个1.5M的并发流,所以不能满足更大的需求。在VOD应用中,网卡同样是负载较重的子系统。100M网卡只能使用在几十个并发的应用中。
看图像下面的最大值,34.6MB/S,即276Mbits/S。网络带宽的占用情况很好估算,最大并发流数和每一个并发流的带宽相乘即可。如果1.5M的并发连接增加到400个,网络带宽的占用至少要达到600M以上,所以1000M网卡在VOD应用中是必要的。
实际应用案例:
300个用户,要求VCD的观看效果,应该如何选择VOD服务器?
300个用户,我们可以认为,系统的最大并发用户为300;VCD的观看效果就是传输的码率为1.4M,我们从以下四个方面来看:
· 处理器:参考前面的数据,两颗PⅢ 1.13G的处理器可以负载240个1.5M的并发流,一颗XEON 1.8G的处理器可以负载320个。因此选用单颗XEON 1.8G处理器就可以满足需求,这里选择一颗XEON 1.8G或更高的处理器。
· 内存:300个连接占用300 * 3M = 900M,预留80M给操作系统,这样配置1G内存就可以了。
· 磁盘:以Ultra 320的磁盘为例,一块Ultra 320的磁盘可以负载53个1.4Mbits/S的连接,因此300个并发流配置6块磁盘就可以了,算上系统盘需要7块。如果选用Ultra 160的可以按每块磁盘负载37个连接计算。
· 网卡:网络流量为300 * 1.5Mbits = 450Mbits,因此可以选用一块1000M网卡。
根据上面的结果给出服务器的配置为:
可以推荐NL120。
贴一个估算的例子。
根据TPC-C的标准,tpmC值是根据标准模型中New-Order事务的处理数目来计算的,一个New-Order事务由平均4-5个SQL语句处理完成,整个测试的执行过程中,New-Order处理占45%。
估算条件:
运行商2003年将达到250万用户数
每天每用户产生5张话单
分析过程:
每分钟处理: (用户数)250万* =9250
峰值处理: 9250*1.5 =11350
需执行约6个SQL语句,则估算一个话单汇总处理业务相当的TPC-C值为:
6*0.45/4 = 0.67Tpmc
话单汇总和分析的TPC-C 值要求满足:
11350* 0.67Tpmc =9300Tpmc
考虑25%的冗余(系统其它开销):
主机性能=9300Tpmc *1.25 =11000Tpmc