IPTV系统的VOD与TV业务性能测试
IPTV的未来发展正在成为业界的焦点话题。据市场研究公司MRG的统计,全球IPTV用户将由2004年的200万增加至2010年的2000万,预计全球IPTV市场2005~2010年的复合增长率为102%。 在国内,IPTV产业尚处于试验阶段,中国电信、中国网通、中国铁通正在积极开展IPTV试验。
目前已有很多设备厂家提供IPTV系统平台和设备,业界公认IPTV业务包含两种基本业务:VOD点播和TV直播。国内IPTV的发展如火如荼,对于 IPTV系统的测试也亟需进行规范,本文拟将对IPTV系统的这两种基本业务的性能测试进行简单的探讨。本文仅仅考虑端到端的性能测试,测试的观察点在于 用户侧,不考虑服务器端的分级缓存性能。
由于VOD点播网络和TV直播网络在网络结构上的不同,VOD分发需要依靠CDN网络,而TV的分发则需要依靠组播网络,不需要CDN网络进行缓存,基于此,该两种业务性能测试的着重点也不尽相同。
一、VOD业务性能测试简介
VOD节目通常采用点播方式进行传送。点播用户可自由控制节目的进度,终止节目的播放,但每个点播用户都需要占用一定的网络带宽,因此并发用户数受到网络带宽、服务器性能的限制。
VOD业务性能的测试指标主要有最大并发流数目、带宽波动、所使用的平均带宽、丢包率和平均响应时间。
最大并发流数目:流媒体系统在同一时间内所能够支持的最大在线用户数目,且要求每个用户都可以正常收看完整的视频节目。在用户数目逐步增加到最大值之 前,系统不会使已经在线的用户因为新增加了用户而出现不能够获得服务的情况。有的视频系统虽然能够提供数目巨大的并发流,但是失败的数量很多,由于用户大 都采用TCP,因此重传以后并发流数目并没有降低,但是对于原来已失败的单个流而言,该用户已经无法继续得到视频服务。因此,最大并发流数目应该是视频系 统所能够支持的有效的、能够同时在线正常观看节目的最大用户数目。
带宽波动:视频文件在播放过程中,由于画面的变化会造成媒体流的带 宽变化。例如对于课堂教学类节目而言,连续的画面前后变化不大,故节目码速率也比较恒定,带宽波动相对较小;对于运动类节目而言,连续的画面前后变化较 大,故节目码速率变化也相应较大,带宽波动也随之较大。节目码速率波动的大小对视频服务器的吞吐量是个严峻的考验,如果过多的用户点播较高码速率的节目, 则很有可能出现服务器所能支持的用户数减少的现象,或者视频服务器会降低节目流的输出带宽。
所使用的平均带宽:在用户观看节目过程中,所有用户使用的带宽的平均值,该值越大说明流媒体视频系统所能提供的带宽能力越强。
丢包率:用户在接受视频点播服务的时候需要从服务器获取视频文件,在视频文件传输过程中是否发生丢包的情况。丢包率的数值一般比较小,但是对用户的影响 非常重要,尤其是目前使用的压缩比率都比较高,即使丢失很少的视频包也会影响到用户的观赏甚至出现断掉连接的现象。视频点播端到端的丢包率上限不应该超过 0.1%。
平均响应时间:用户从发出点播请求到得到视频服务的时间总体分布情况。当然,平均响应时间是越短越好。一般而言,视频点播端到端平均时延不应超过2s(暂定)。
二、TV业务性能测试简介
TV节目通常采用组播方式进行传送。组播是一种允许一个或多个发送者(组播源)一次、同时发送单一的数据包到多个接收者的网络技术。组播源把数据包发送 到特定组播组,而只有属于该组播组的地址才能接收到数据包。在IPTV里,组播源往往仅有一个,即使用户数量成倍增长,主干带宽也不需随之增加,因为无论 有多少个目标地址,在整个网络的任何一条主干链路上只传送单一视频流,即所谓“一次发送,组内广播”。组播提高了数据传送效率,减少了主干网出现拥塞的可 能性。对于TV系统而言,其所能够支持的用户数目仅仅受到接入网络能力的限制,与前端推送系统的推送能力无关。
因此,TV业务性能的主要测试指标有所推送的最大频道数目、频道平均带宽、平均频道切换时间、平均频道离开延时、平均频道加入延时、频道重叠时间和频道间隔时间。
所推送的最大频道数目:流媒体系统所能够提供的最多频道数目,用户能够在很短的时间内遍历所有的频道。
频道平均带宽:每个频道节目所占用的带宽。标清节目(SDTV)和高清节目(HDTV)所占用的带宽不一样,HDTV节目所占用的带宽远远高于SDTV节目的带宽。
平均频道切换时间:从发出IGMPleave消息直到接收到所请求频道的第一个组播包之间的时间。由于在IP网络上TV节目的频道切换只能通过IGMP 来实现,相比之下,传统电视机的频道切换则要快很多。因此,根据个人主观感觉,通常IPTV频道切换时间不应超过2s(暂定),否则用户难以忍受频道切换 的等待时间。目前,IPTV频道切换时间过慢也是急待解决的一个问题。
平均频道离开延时:从发出IGMPleave消息直到接收到该频道的最后一个组播包之间的时间。通常频道离开延时越短越好。
平均频道加入延时:从发出IGMPjoin消息直到接收到该频道的第一个组播包之间的时间。通常频道加入延时越短越好。
频道重叠时间:如果系统频道切换采取接收到所请求频道的组播包之后才停止原频道的组播包的方式,则频道重叠时间即指接收到所请求频道的第一个组播包与接收到原频道的最后一个组播包之间的时间间隔。
频道间隔时间:如果系统频道切换采取先停止原频道的组播包再接收所请求频道的组播包的方式,则频道间隔时间即指接收到原频道的最后一个组播包与接收到所请求频道的第一个组播包之间的时间间隔。
三、其他考虑
除了以上所讨论的性能测试指标之外,还有一些实际因素需要考虑并加以测试。
系统的稳定性。由于IPTV视频系统大部分任务是提供娱乐性节目,用户在观看娱乐节目的过程中更注重节目的整体性和连贯性,因此,稳定性对于视频系统而 言是十分关键的一点。用户在观看喜欢的视频节目时都带有浓厚的感情色彩,任何断流的情况都会极大地影响用户的欣赏效果,例如在用户观看电视剧的时候出现黑 屏等现象。IPTV视频系统的稳定性包括:稳定的最大并发流数目/节目数目、稳定的节目带宽、长时间工作的稳定性。
网络损伤因素。网 络中的各种损伤对视频节目质量影响极大,网络中偶尔出现的损伤直接影响到用户对该视频节目的心理接受程度,其最直接的影响就是用户对视频图像质量的主观评 价降低,例如网络线路误码率达到10E-6时,VOD节目可能出现明显的马赛克、画面变色、画面迟滞,在这种情况下,用户很有可能会终止此次视频点播。因 此,应该仔细研究网络中各种损伤(包括延时、抖动、丢包、乱序、线路误码)对视频节目质量造成的破坏。在制定IPTV业务相关技术指标的时候,应该充分考 虑到网络损伤对业务质量QoS的影响。
四、结束语
近年来,随着宽带建设的高速发展,视频流媒体服务已经成为互联 网的最主要应用之一,IPTV系统是提供视频服务的一个最主要的切入点,目前,各大运营商已开始逐步向用户提供IPTV业务,IPTV试验网已经在国内多 个城市进行试运行。对IPTV系统业务性能进行测试,是运营商在开展IPTV业务之前需要进行的一个关键步骤。目前,IPTV技术正处在发展初期阶段,由 于IPTV涉及的内容比较多,相关技术、业务仍处在研究过程之中。但随着技术的不断发展,IPTV业务的测试技术也将不断的成熟与完善,这也必然推进国内 IPTV业务的发展。
IPTV系统的VOD与TV业务性能测试的更多相关文章
- 在这个应用中,我使用了 MQ 来处理异步流程、Redis 缓存热点数据、MySQL 持久化数据,还有就是在系统中调用另外一个业务系统的接口,对我的应用来说这些都是属于 RPC 调用,而 MQ、MySQL 持久化的数据也会存在于一个分布式文件系统中,他们之间的调用也是需要用 RPC 来完成数据交互的。
在这个应用中,我使用了 MQ 来处理异步流程.Redis 缓存热点数据.MySQL 持久化数据,还有就是在系统中调用另外一个业务系统的接口,对我的应用来说这些都是属于 RPC 调用,而 MQ.MySQ ...
- P2P网络借贷系统-核心功能-用户投标-业务解说
用户投标是P2P网络借贷系统的核心功能.相对照较复杂,为了更好地梳理业务和技术实现思路,特地具体总结分析下. 输入:用户id-uid.标的id-lid.投标金额-amount 1.依据lid,获得贷款 ...
- P2P网络借贷系统-核心功能-用户投标-业务讲解
用户投标是P2P网络借贷系统的核心功能,相对比较复杂,为了更好地梳理业务和技术实现思路,特地详细总结分析下. 输入:用户id-uid,标的id-lid,投标金额-amount 1.根据lid,获得贷款 ...
- 企业项目实战 .Net Core + Vue/Angular 分库分表日志系统 | 控制反转搭配简单业务
教程预览 01 | 前言 02 | 简单的分库分表设计 03 | 控制反转搭配简单业务 说明 我们上一节已经成功通过 连接提供程序存储库,获取到了 连接提供程序,但是连接提供程序和数据库连接依赖太深, ...
- 性能测试需求分析 业务PV量,响应时间、QPS、TPS
一. 性能测试需求分析 1.1 性能测试需求内容 性能测试需求应包括以下内容: a) 测试场景及用例,用例访问URL: b) 目标接口方法的入参.出参: c) 外部依赖的服务 ...
- 解析大型.NET ERP系统 业务逻辑设计与实现
根据近几年的制造业软件开发经验,以我开发人员的理解角度,简要说明功能(Feature)是如何设计与实现的,供参考. 因架构的不同,技术实现上会有所差异,我的经验仅限定于Windows Form程序. ...
- 使用 UML 进行业务建模:理解业务用例与系统用例的相似和不同之处
使用 UML 进行业务建模:理解业务用例与系统用例的相似和不同之处 作者:Arthur V. English 出处:IBM 本文内容包括: 背景 业务用例模型与系统用例模型有什么相似之处? 业 ...
- 统一门户与业务系统的sso整合技术方案(单点登录)
一.单点登录(SSO,Single Sign On)整合目前计划接入统一门户的所有业务系统均为基于JavaEE技术的B/S架构系统.由于统一门户的单点登录技术选用的是JA-SIG组织开发的Cas Se ...
- TOP100summit:【分享实录-美团点评】 业务快速升级发展背后的系统架构演进
本篇文章内容来自2016年TOP100summit美团●大众点评高级技术专家,酒店后台研发组eHome团队负责人许关飞的案例分享.编辑:Cynthia 许关飞:美团●大众点评高级技术专家,酒店后台研发 ...
随机推荐
- java——比较难和底层的面试题
链接地址:https://mp.weixin.qq.com/s/lnbCysCQgfjF_kcB83KQZg 这是一个在线教育机构的文章,感觉大部分都不会,太难了. 一.自我介绍 二.多线程相关: 线 ...
- QTP(11)
练习:录制Flight登录-打开1-10之间随机编号的订单-退出,打开完订单后,退出前,使用msgbox输出“顾客x预定了y从z到w的c类型的k张票!”说明:x是顾客姓名.y是日期.z是FlyFrom ...
- Android异常与性能优化相关面试问题-其他优化面试问题详解
Android不用静态变量存储数据: 静态变量等数据由于进程已经被杀死而被初始化.在Android中应用进程不是安全的,因为它会有系统给kill掉,但是在实际中可能会有这样的一个假象:当app被杀掉之 ...
- 第六章 组件 61 动画-小球动画flag标识符的作用分析
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...
- Java 实现两个数据库数据的迁移
原料:mysql,sqlite3 思想步骤: 首先从一个数据库取出数据,每取一条就添加到另一个数据库. 示例: import java.sql.*; public class SQLite_To_My ...
- spark 三种数据集的关系(二)
一个Dataset是一个分布式的数据集,而且它是一个新的接口,这个新的接口是在Spark1.6版本里面才被添加进来的,所以要注意DataFrame是先出来的,然后在1.6版本才出现的Dataset,提 ...
- Java-DateHandler工具类
import java.util.*; import java.text.*; public class DateHandler { public DateHandler() { } public s ...
- javascript中的正确错误处理------------引用
JavaScript的事件驱动机制让JavaScript更加丰富,浏览器好比就是一个事件驱动的机器,错误也是一种事件.当一个错误发生时,一个事件就在某个点抛出. 解释起来就是,当发生错误时,JavaS ...
- MFC CTreeCtrl 递归遍历算法
递归遍历 void Traverse(HTREEITEM hTree) { if (!hTree) { return; } //Do Something. //Traverse Child Node ...
- 用electrion打包angular成桌面应用
用electrion官网的不行. 还好,可以直接照搬 https://github.com/maximegris/angular-electron 安装必要的库 npm i --save-dev el ...