一种性能测试方法及装置制造方法及图纸

技术编号:24120724 阅读:27 留言:0更新日期:2020-05-13 03:00
本发明专利技术公开了一种性能测试方法及装置,其中,方法包括:获取待测试系统的初始参数;将初始参数输入至预设算法中,得到性能参数;将性能参数作为测试参数,对待测试系统进行性能测试;若确定待测试系统未通过性能测试,则调整初始参数,直至确定待测试系统通过性能测试。该技术方案用以对基于Flink框架构建的业务系统进行性能测试。

【技术实现步骤摘要】
一种性能测试方法及装置
本专利技术实施例涉及测试领域,尤其涉及一种性能测试方法及装置。
技术介绍
Flink核心是一个流式的数据流处理引擎,其针对数据流的分布式引擎提供了数据分析、数据通信以及容错机制等功能。在实际业务场景适用中,包括实时分析,连续数据管道处理、历史数据处理和迭代算法(机器学习、图计算)等数据分析场景;通过结合Time、Window、Trigger等多种处理机制,Flink提供了高性能、低延迟、高容错且功能强大的流式处理服务。现有技术中,主要提供对Flink框架本身的基准测试,如基准测试工具HiBench、streaming-benchmarks等,主要侧重于对Flink框架本身的单元业务进行单独测试。基准测试工具不能对基于Flink框架构建的业务系统进行性能测试。
技术实现思路
本专利技术实施例提供一种性能测试方法及装置,用以对基于Flink框架构建的业务系统进行性能测试。本专利技术实施例提供的一种性能测试方法,包括:获取待测试系统的初始参数;将所述初始参数输入至预设算法中,得到性能参数;所述预设算法是根据已有业务系统在历史测试用例下确定的初始参数和性能参数之间的运算关系;将所述性能参数作为测试参数,对所述待测试系统进行性能测试;若确定所述待测试系统未通过所述性能测试,则调整所述初始参数,直至确定所述待测试系统通过所述性能测试。可选的,所述初始参数包括输入数据量和任务管理器中任务槽个数;所述性能参数至少包括所述任务管理器的个数、所述任务管理器的内存、所述任务管理器中任务槽个数、线程并行数、作业管理器的内存;所述将所述初始参数输入至预设算法中,得到性能参数,包括:根据所述输入数据量和单线程的预设数据处理速度,确定所述线程并行数;根据所述输入数据量和单线程所占的预设内存,确定所述任务管理器的内存;根据所述线程并行数、所述任务槽个数,确定所述任务管理器的个数;根据所述任务管理器的个数、所述任务管理器的内存确定所述作业管理器的内存。可选的,所述根据所述输入数据量和单线程的预设数据处理速度,确定所述线程并行数,包括:根据公式(1)确定所述线程并行数;所述公式(1)为:P为线程并行数;X为输入数据量;S为单线程的预设数据处理速度。可选的,所述根据所述线程并行数、所述任务槽个数,确定所述任务管理器的个数,包括:根据公式(2)确定所述任务管理器的个数;所述公式(2)为:N任务管理器为任务管理器的个数;P为线程并行数;N任务槽为任务管理器中任务槽个数。可选的,所述根据所述任务管理器的个数、所述任务管理器的内存确定所述作业管理器的内存,包括:根据公式(3)确定所述作业管理器的内存;所述公式(3)为:M作业管理器=N任务管理器×M任务管理器M作业管理器为作业管理器的内存;N任务管理器为任务管理器的个数;M任务管理器为任务管理器的内存。可选的,所述调整所述初始参数,包括:将所述任务管理器中任务槽个数增加预设个数后,作为所述任务管理器中调整后的任务槽个数。可选的,所述根据所述输入数据量和单线程所占的预设内存,确定所述任务管理器的内存,包括:若所述任务槽个数是所述任务管理器中初始任务槽个数,则根据公式(4)确定所述任务管理器的内存;所述公式(4)为:M任务管理器0=M单线程+log2(X+k1)M任务管理器0为任务管理器的初始内存;M单线程为单线程所占的预设内存;X为输入数据量;k1为根据经验确定的参数;若所述任务槽个数是所述任务管理器中调整后的任务槽个数,则根据公式(5)确定所述任务管理器的内存;所述公式(5)为:M任务管理器1=k2M任务管理器0M任务管理器1为任务管理器在任务槽个数调整后所对应的内存;k2为系数,k2的取值由任务管理器中调整后的任务槽个数和初始任务槽个数确定。可选的,所述确定所述待测试系统通过所述性能测试,包括:若确定所述待测试系统在所述性能测试中符合预设条件,则确定所述待测试系统通过所述性能测试;所述预设条件包括:所述任务管理器的个数占所述待测试系统的CPU总数的比例小于第一预设值;且所述作业管理器的内存占所述待测试系统的总内存的比例小于第二预设值;且所述待测试系统的负载不大于所述待测试系统的CPU总数;且所述待测试系统维持稳定运行的持续时长不小于预设时长。可选的,所述获取待测试系统的初始参数,包括:获取测试用例集中的测试用例;所述测试用例集中每个测试用例的初始参数不同;从所述测试用例中确定所述测试用例的初始参数。可选的,在所述确定所述待测试系统通过所述性能测试之后,还包括:获取所述测试用例的下一个测试用例,以对所述待测试系统进行所述下一个测试用例对应的性能测试。可选的,在所述确定所述待测试系统通过所述性能测试之后,还包括:确定所述性能测试时所述待测试系统的运行数据,以用于评估所述待测试系统的数据处理能力和/或资源占用情况;其中,用于评估所述待测试系统的数据处理能力的运行数据至少包括以下之一或组合:输入数据量、输出数据量、数据处理完成度;用于评估所述待测试系统的资源占用情况的运行数据至少包括以下之一或组合:CPU占用比、系统负载比、物理内存占用比、虚拟内存占用比、进程堆内存占用比、磁盘IO占用比、网卡网络IO占用分析。上述技术方案中,通过已有业务系统在历史测试用例下的性能测试,确定的初始参数和性能参数之间的运算关系,进而实现在对于待测试系统进行性能测试时,可以直接根据获取到的初始参数确定待测试系统的测试参数,并根据该测试参数对待测试系统进行性能测试,从而实现对基于Flink构建的业务系统的性能测试。进一步的,提供性能测试过程中的动态调优策略,在确定待测试系统无法通过当前性能测试时,动态调整初始参数,以根据调整后的初始参数确定调整后的性能参数,然后再次对待测试系统进行性能测试,直至确定待测试系统通过性能测试,通过该方式不仅可以实现自动化的对待测试系统的性能测试,而且可以确定出在特定输入数据量情况下待测试系统的具体参数配置。相应的,本专利技术实施例还提供了一种性能测试装置,包括:获取单元、算法单元和测试单元;所述获取单元用于获取待测试系统的初始参数;所述算法单元用于将所述初始参数输入至预设算法中,得到性能参数;所述预设算法是根据已有业务系统在历史测试用例下确定的初始参数和性能参数之间的运算关系;所述测试单元用于将所述性能参数作为测试参数,对所述待测试系统进行性能测试;若所述测试单元确定所述待测试系统未通过所述性能测试,则所述算法单元调整所述初始参数,直至所述测试单元确定所述待测试系统通过所述性能测试。可选的,所述初始参数包括输入数据量和任务管理器中任务槽个数;所述性能参数本文档来自技高网...

【技术保护点】
1.一种性能测试方法,其特征在于,包括:/n获取待测试系统的初始参数;/n将所述初始参数输入至预设算法中,得到性能参数;所述预设算法是根据已有业务系统在历史测试用例下确定的初始参数和性能参数之间的运算关系;/n将所述性能参数作为测试参数,对所述待测试系统进行性能测试;若确定所述待测试系统未通过所述性能测试,则调整所述初始参数,直至确定所述待测试系统通过所述性能测试。/n

【技术特征摘要】
1.一种性能测试方法,其特征在于,包括:
获取待测试系统的初始参数;
将所述初始参数输入至预设算法中,得到性能参数;所述预设算法是根据已有业务系统在历史测试用例下确定的初始参数和性能参数之间的运算关系;
将所述性能参数作为测试参数,对所述待测试系统进行性能测试;若确定所述待测试系统未通过所述性能测试,则调整所述初始参数,直至确定所述待测试系统通过所述性能测试。


2.如权利要求1所述的方法,其特征在于,所述初始参数包括输入数据量和任务管理器中任务槽个数;所述性能参数至少包括所述任务管理器的个数、所述任务管理器的内存、所述任务管理器中任务槽个数、线程并行数、作业管理器的内存;
所述将所述初始参数输入至预设算法中,得到性能参数,包括:
根据所述输入数据量和单线程的预设数据处理速度,确定所述线程并行数;
根据所述输入数据量和单线程所占的预设内存,确定所述任务管理器的内存;
根据所述线程并行数、所述任务槽个数,确定所述任务管理器的个数;
根据所述任务管理器的个数、所述任务管理器的内存确定所述作业管理器的内存。


3.如权利要求2所述的方法,其特征在于,所述根据所述输入数据量和单线程的预设数据处理速度,确定所述线程并行数,包括:
根据公式(1)确定所述线程并行数;
所述公式(1)为:



P为线程并行数;X为输入数据量;S为单线程的预设数据处理速度。


4.如权利要求2所述的方法,其特征在于,所述根据所述线程并行数、所述任务槽个数,确定所述任务管理器的个数,包括:
根据公式(2)确定所述任务管理器的个数;
所述公式(2)为:



N任务管理器为任务管理器的个数;P为线程并行数;N任务槽为任务管理器中任务槽个数。


5.如权利要求2所述的方法,其特征在于,所述根据所述任务管理器的个数、所述任务管理器的内存确定所述作业管理器的内存,包括:
根据公式(3)确定所述作业管理器的内存;
所述公式(3)为:
M作业管理器=N任务管理器×M任务管理器
M作业管理器为作业管理器的内存;N任务管理器为任务管理器的个数;M任务管理器为任务管理器的内存。


6.如权利要求2至5任一项所述的方法,其特征在于,所述调整所述初始参数,包括:
将所述任务管理器中任务槽个数增加预设个数后,作为所述任务管理器中调整后的任务槽个数。


7.如权利要求6所述的方法,其特征在于,所述根据所述输入数据量和单线程所占的预设内存,确定所述任务管理器的内存,包括:
若所述任务槽个数是所述任务管理器中初始任务槽个数,则根据公式(4)确定所述任务管理器的内存;
所述公式(4)为:
M任务管理器0=M单线程+log2(X+k1)
M任务管理器0为任务管理器的初始内存;M单线程为单线程所占的预设内存;X为输入数据量;k1为根据经验确定的参数;
若所述任务槽个数是所述任务管理器中...

【专利技术属性】
技术研发人员:龙春竹朱海涅徐越刘燕
申请(专利权)人:北京神州绿盟信息安全科技股份有限公司北京神州绿盟科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1