专利名称:流媒体性能测试方法
技术领域:
本发明涉及IPTV性能测试领域,尤其针对流媒体服务器(以下简称“流媒体”)性能的测试。
背景技术:
随着近年来IPTV业务的快速发展,用户数量的急剧增加,作为IPTV系统核心的流媒体的性能显得越来越重要,并已成为各IPTV业务运营商及设备厂商关注的焦点。如何在现有设备基础上,通过设备重组或优化配置来最大限度地提升系统性能,是我们今后相当一段时间内工作的重点。而要达到系统性能提升的目的,就必须要知道现有系统的性能,必须要有一个有效的性能测试方法。
测试流媒体性能的基本思路是用某种手段模拟大量机顶盒用户,向流媒体发起服务请求,然后通过各种判定方法来确定流媒体所能提供的最大服务能力。目前各大IPTV厂商测试流媒体性能所采用的方法大都是用自己开发的模拟客户端工具给流媒体加压,这种方法存在以下几方面的不足1)功能相对简单,对于用户模型较为复杂的实际应用场合无法得到准确测试结果;2)工具本身存在可信性的问题,测得的结果不一定让人信服;
3)工具通用性差,往往某个厂家开发的工具只适合自身流媒体性能的测试,而不支持其它厂家产品。
因此,需要一种通用的流媒体性能测试方案,能够解决上述相关技术中的问题。
发明内容
本发明的目的在于提供一种准确、可靠和通用的流媒体性能测试方法。
根据本发明的一个方面,提供了一种流媒体性能测试方法,该方法包括以下步骤步骤S102,模拟需要测试的组网环境,并根据实际用户分布情况建立用户压力模型;步骤S104,根据组网环境和用户压力模型建立测试实例并进行性能测试;以及步骤S106,根据预先指定的性能判定标准和依据对测试结果进行分析,在测试结果为超出性能极限的情况下,减少用户数量后重复进行测试,在测试结果为未达到极限的情况下,增加用户数量后再重复进行测试。
流媒体性能测试方法用于测试以下至少一种单个流媒体服务器的性能和节点性能。
通过以下方式建立用户压力模型在每个用户点播的文件均不同的情况下,用户数和点播文件数之比为1∶1;在所有用户均点播同一个文件的情况下,用户数和点播文件数之比为n∶1,其中,n为正整数;在一部分用户点播一部分热点节目的情况下,用户数和点播文件数之比为n∶m,其中,n和m为正整数。
在进行流媒体性能测试的过程中,采用实际机顶盒进行点播,在机顶盒点播出现马赛克、中断、或重新点播出现不成功的情况下,则表明流媒体已经超出服务能力极限。
在步骤S106中,将性能判定标准指定为以下至少之一丢包率、延时、以及带宽。
在上述方法中,采用Avalanche 2500建立测试实例并进行测试;流媒体为互联网协议电视流媒体。
本发明采用了专业的性能测试工具Avalanche 2500测试仪,与目前较为常见的流媒体性能测试软件LoadRunner、GUI StreamBeta等相比,Avalanche具有稳定性好、性能高、结果可靠、功能强大以及通用性好等特点。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1是示出根据本发明的流媒体性能测试方法的流程图;图2是示出根据本发明第一实施例的流媒体性能测试方法的流程图;图3是示出根据本发明实施例的流媒体性能测试的组网示意图;图4是示出根据本发明实施例的测试仪连接示意图;以及图5是示出根据本发明第二实施例的流媒体性能测试方法的流程图。
具体实施例方式
下面参考附图,详细说明本发明的具体实施方式
。
图1是示出根据本发明的流媒体性能测试方法的流程图。参照图1,根据本发明的流媒体性能测试方法包括以下步骤步骤S102,模拟需要测试的组网环境,并根据实际用户分布情况建立用户压力模型;步骤S104,根据组网环境和用户压力模型建立测试实例并进行性能测试;以及步骤S106,根据预先指定的性能判定标准和依据对测试结果进行分析,在测试结果为超出性能极限的情况下,减少用户数量后重复进行测试,在测试结果为未达到极限的情况下,增加用户数量后再重复进行测试。
其中,流媒体性能测试方法用于测试以下至少一种单个流媒体服务器的性能和节点性能。
通过以下方式建立用户压力模型在每个用户点播的文件均不同的情况下,用户数和点播文件数之比为1∶1;在所有用户均点播同一个文件的情况下,用户数和点播文件数之比为n∶1,其中,n为正整数;在一部分用户点播一部分热点节目的情况下,用户数和点播文件数之比为n∶m,其中,n和m为正整数。
在进行流媒体性能测试的过程中,采用实际机顶盒进行点播,在机顶盒点播出现马赛克、中断、或重新点播出现不成功的情况下,则表明流媒体已经超出服务能力极限。
在步骤S106中,将性能判定标准指定为以下至少之一丢包率、延时、以及带宽。
在上述方法中,采用Avalanche 2500建立测试实例并进行测试;流媒体为互联网协议电视流媒体。
图2是示出根据本发明第一实施例的流媒体性能测试方法的流程图。在该实施例中,采用专业的性能测试仪器——SpirentAvalanche 2500作为流媒体性能测试的主要工具,结合流媒体在IPTV系统中实际应用,构建一种能真实反映流媒体服务状况的用户压力模型,模拟大量机顶盒用户对流媒体进行加压,通过某种判定手段,确定流媒体所能提供的最大服务能力,该实施例中的流媒体性能测试方法包括以下步骤步骤S202,模拟IPTV实际应用的组网情况,搭建测试组网环境;步骤S204,根据实际应用的用户分布情况,建立用户压力模型;步骤S206,根据组网模型和用户压力模型,编制可由Avalanche2500测试仪执行的测试用例;步骤S208,执行测试;以及步骤S210,制定性能判定标准和依据,对测试结果进行分析。
下面将结合图3至图5描述本发明的第二实施例。图3是根据本发明的流媒体性能测试的组网图。图4是根据本发明的测试仪连接的示意图。
图5是示出根据本发明第二实施例的流媒体性能测试方法的流程图。参照图5,本实施例的流媒体性能测试方法包括以下步骤
步骤S502,根据IPTV实际应用情况,搭建流媒体性能测试组网环境(如图3所示)。流媒体性能测试的内容包括单个流媒体服务器的性能以及整个节点(说明IPTV系统一般都采用CDN——内容分发网络架构,按层次可分为省中心节点、市中心节点和边缘节点)的性能,单个流媒体服务器的性能测试较为简单,测试仪只需用到一个测试口;但对于节点性能的测试,由于用户数量大,媒体流占用的带宽超过1Gbps,所以必须用到多个测试口,这样测试口连接交换机的网口需要作Trunk配置。测试仪的控制是通过PC控制台来进行的,在PC机上需安装Avalanche 2500的控制台软件,然后通过网线与测试仪的控制口相连(如图4所示)。
步骤S504,根据实际应用情况建立一个用户压力模型。通常可以提炼出3种用户压力模型第一种是用户数和点播文件数为1∶1的情况,这种模型的假设是每个用户点播的文件都不一样,属于一种极端情况,实际应用很少出现;第二种是用户数和点播文件数为n∶1的情况,这种模型的假设是所有用户都点播同一个文件(例如某个热点节目),这也是一种极端情况,实际应用很难出现;第三种是用户数和点播文件数为n∶m(n>m)的情况,这种模型假设一部分用户点播某几个热点节目(n∶1情况)、一部分用户点播的是冷门节目(1∶1情况),实际应用统计结果表明,这一种模型是最贴近用户实际使用的压力模型。所以,流媒体性能测试的用户压力模型以第三种模型为主,其余两种情况的性能只作为一种参考。
步骤S506,建立用户压力模型之后,根据该模型编制测试用例。关于Avalanche 2500工具的使用以及测试用例编制方法,可以登陆Spirent公司的中文网站“http://www.spirentcom.cn/”查询,在此不作详细描述。当模拟用户规模较大的时候,用例的编制会比较繁琐和费时,此时可以通过工具所支持的Tcl(Test command language)脚本进行用例编制和修改,具体使用方法可以查询Avalanche 2500的帮助来获得。
步骤S508,开始执行测试,如果测试用例是通过Avalanche 2500的PC控制台进行编制的,那么只要点击控制台软件的工具栏上的运行按钮即可;如果测试用例采用的是Tcl脚本语言编制的,那么测试的执行就需要在Tcl运行环境下进行。
步骤S510,对测试结果进行判定。测试结果的判定方法有两种一种是在加压测试的同时用一台真实的机顶盒点播,如果在加压过程中机顶盒点播出现马赛克或中断,或者重新点播出现不成功现象,则表明流媒体已超出服务能力极限;另一种是根据Avalanche 2500控制台的统计结果来判定,主要考察丢包、延时、带宽等指标。据实际观察,当丢包率高于0.5%时点播就会有较为明显的马赛克现象,因此要求丢包率的上限不得超过0.5%;当点播延时超过2000ms时,就可能会出现用户点播不成功的现象,因此要求延时的上限不大于2000ms;带宽统计则是综合考察流媒体服务是否正常的一个指标,多用户点播总带宽可以根据以下公式来计算用户数×片源码率×1.1=总带宽其中,系数1.1为媒体包通过网络传送时UDP封装所带来的额外网络开销。如果Avalanche 2500统计的总带宽明显低于计算值,那么表明流媒体已无法正常提供媒体服务了。在实际性能测试过程中,以上两种判定方法可以只用其中一种,也可以两种同时采用。
由于每一个测试用例模拟的用户数量都是固定的,在测试执行过程中不能动态增减用户,所以要想测得流媒体的最大性能就必须对测试用例进行多次修改。具体操作方法是首先根据经验给出一个大概的性能数值(即流媒体所能支持的最大用户数),根据选定的用户压力模型进行用例设计,然后执行测试,根据性能判定方法对结果进行判定。如果超出性能极限,则减少用户数,再重复以上过程;如果性能还未达到极限值,则增加用户数,再重复以上过程。如此循环,直到找到一个性能极限值为止。
本发明采用了专业的性能测试工具Avalanche 2500测试仪,与目前较为常见的流媒体性能测试软件LoadRunner、GUI StreamBeta等相比,Avalanche具有稳定性好、性能高、结果可靠、功能强大以及通用性好等特点。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种流媒体性能测试方法,其特征在于,包括以下步骤步骤S102,模拟需要测试的组网环境,并根据实际用户分布情况建立用户压力模型;步骤S104,根据所述组网环境和所述用户压力模型建立测试实例并进行性能测试;以及步骤S106,根据预先指定的性能判定标准和依据对所述测试结果进行分析,在测试结果为超出性能极限的情况下,减少用户数量后重复进行测试,在所述测试结果为未达到极限的情况下,增加用户数量后再重复进行测试。
2.根据权利要求1所述的流媒体性能测试方法,其特征在于,所述流媒体性能测试方法用于测试以下至少一种单个流媒体服务器的性能和节点性能。
3.根据权利要求2所述的流媒体性能测试方法,其特征在于,通过以下方式建立所述用户压力模型在每个用户点播的文件均不同的情况下,用户数和点播文件数之比为1∶1;在所有用户均点播同一个文件的情况下,所述用户数和点播文件数之比为n∶1,其中,n为正整数;在一部分用户点播一部分热点节目的情况下,所述用户数和所述点播文件数之比为n∶m,其中,n和m为正整数。
4.根据权利要求3所述的流媒体性能测试方法,其特征在于,在进行流媒体性能测试的过程中,采用实际机顶盒进行点播,在所述机顶盒点播出现马赛克、中断、或重新点播出现不成功的情况下,则表明流媒体已经超出服务能力极限。
5.根据权利要求3所述的流媒体性能测试方法,其特征在于,在所述步骤S106中,将性能判定标准指定为以下至少之一丢包率、延时、以及带宽。
6.根据权利要求1至5中任一项所述的流媒体性能测试方法,其特征在于,采用Avalanche 2500建立所述测试实例并进行测试。
7.根据权利要求6所述的流媒体性能测试方法,其特征在于,所述流媒体为互联网协议电视流媒体。
全文摘要
本发明披露了一种流媒体性能测试方法,该方法包括以下步骤步骤S102,模拟需要测试的组网环境,并根据实际用户分布情况建立用户压力模型;步骤S104,根据组网环境和用户压力模型建立测试实例并进行性能测试;以及步骤S106,根据预先指定的性能判定标准和依据对测试结果进行分析,在测试结果为超出性能极限的情况下,减少用户数量后重复进行测试,在测试结果为未达到极限的情况下,增加用户数量后再重复进行测试。本发明提供了具有稳定性好、性能高、结果可靠、功能强大以及通用性好的测试。
文档编号H04L12/26GK101072327SQ20071011157
公开日2007年11月14日 申请日期2007年6月19日 优先权日2007年6月19日
发明者王开国 申请人:中兴通讯股份有限公司