作者按:随着计算机技术与网络技术的飞速发展,VOD(视频点播)的应用也越来越广泛。今天,也许你后悔没有赶上乔丹打篮球的时代,没关系——你可以在互联网上通过VOD点播欣赏飞人昔日的风采;也许你为了加班或上晚自习错过了央视的黄金时段的《走向共和》,没关系——你甚至可以在VOD服务器上欣赏到电视台还没有播放的部分而先睹为快。 也许你由于天气关系不能从北京飞往纽约参加技术峰会,没关系——你可以通过VOD服务器的网上直播进行交流,犹如亲临现场。你还可以通过VOD服务器组织公司的多方会议,进行网上应聘,与朋友和家人视频聊天,在线听讲……等等,这些都是VOD本身应用以及扩展应用,我们已经可以感觉到VOD应用就在身边。看到它如此神通广大,也许你会觉得深不可测,其实VOD并不神秘……
VOD应用的工作原理
VOD应用与其他应用模式基本相似,可以采用两层或三层架构,客户端通过网络向服务器端提交请求,服务器根据请求向客户端发送数据流,其中还涉及到一些相关的协议,压缩标准等。如果需要计费,计费服务器会记录时间,然后根据单位时间的费用计算出总的费用。随着用户需求的增加,服务器可以在线的动态扩展,实现负载均衡。在较大的应用中,为了提高系统的性能、稳定性和可扩展性,后台的数据存储可以选用SAN。下图为VOD中等规模的应用拓扑图:

作为客户有何要求?
作为客户,最关心的焦点之一就是性能如何?最终用户在使用过程中不管你后台如何搭建,它只需要进行点播时没有不能连接的情况、开始播放和拖动时延迟时间短、播放过程中没有跳帧、在带宽允许的前提下图像尽量清晰等等。
评价VOD系统最主要的指标是系统支持的文件格式(码率)和最大并发连接数。由于多种压缩标准和视频开发厂家的存在,使得视频文件的格式变得多种多样,各有优缺点,因此适应不同的应用环境。表一列举了常用的视频文件格式:
表一

在广域网上的应用受到网络带宽的限制,多数是RM和MPEG4的格式,每一个数据流占用几百Kbit的带宽。而在局域网内部,网络带宽不是首要瓶颈,所以视频格式可以选用图像质量较高的MPEG1和MPEG2。
而作为VOD系统建设者,则需要考虑怎样提高系统的整体性能,怎样使用最少的投资获取最大的收益,怎样使系统稳定性更高,同时又不需要太多的维护,所有这些都需要软硬件产品的支持,所以根据自己的需求适当的选择软、硬件产品是投资者必须掌握的。
怎样选择软硬件产品是我们要重点介绍的内容,我们会根据长期测试的经验、实际测试的结果以及在测试中遇到的各种问题从用户的角度来分析,分别从软件和硬件两方面作详细介绍:
怎样选择软件产品?
软件是在操作系统之上的应用程序,与其它应用程序一样,实现特定的功能。VOD应用软件最主要的功能就是接收到客户端的点播请求后,把音视频文件以流的方式返回给客户端,除此之外,还有管理账户、计费等其它功能。我们评价软件时考虑它的性能表现和功能实现。
1.性能:
不同VOD软件工作的机理不同,所以在使用起来表现的性能也会有一些差异,正如前面提到的:
并发负载很重时能否正常建立连接?当服务器负载较重,新的连接不能被应用程序接受,表面上看是对这个客户端的服务不好,其实是为了保证已经连接上的其它用户的播放质量。这种情况发生说明符武器的硬件资源已经不能满足用户需求了,需要增加服务器数量提高系统的负载能力。
连接之后到开始播放的时间延迟时多少?时间延迟越小越好,当然,这个数据差别不大,一般在2-5秒钟,与一部几十分钟的电影相比可忽略不计,所以这个参数并不太重要。
拖动之后的时间延迟是多少?与上面的情况基本相同,一般在几秒钟左右。
播放过程中有没有图像声音的不连续?在最终用户来讲,这是最不能够接受的情况,因为时断时续的图像和声音会让人变得烦躁,其实只要硬件资源足够,软件方面是很少出现这种情况的。
软件支持的文件格式有哪些?这也是我们比较关心的,因为系统支持的文件格式越多,我们在维护过程中可以选择的也就越多,而不需要把以有的各种格式转换成软件支持的唯一格式,大大减少了工作量。
每增加一个客户端消耗多少服务器硬件资源?这个性能指标是最重要的,它直接决定了固定配置的服务器可以负载多少并发流。
2.功能
随着VOD应用的进一步发展,在实现点播的功能基础上,越来越多的辅助功能成为众多开发商涉及的领域,主要包括:
管理功能:包括用户管理,设备管理,片源管理等基本操作,软件应该是用户操作更方便,更安全,更快捷。
广播功能:处理点播之外,广播是VOD服务器的又一大功能,它可以便于服务器与客户端交流,可以增加播放广告,提供增值服务。
计费功能:在大多数VOD应用中都需要收费,面对各种各样的用户群,自动的服务器计费功能也是非常重要的,这会大大减少管理员的工作量。
怎样选择硬件产品?
硬件是操作系统运行依赖的平台,同时由于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。
|
|