一种分布式压力测试方法及系统技术方案

技术编号:28469329 阅读:42 留言:0更新日期:2021-05-15 21:36
本发明专利技术适用于压力测试技术改进领域,提供了一种分布式压力测试方法,包括:S1、开始运行客户机执行Manager.exe文件并行获取工作机IP群列表;S2、判断工作机IP群列表是否存在;S3、判断接口参数列表是否存在;S4、判断压测设置列表是否存在;S5、判断工作机是否执行Worker.py文件;S6、工作机群组执行脚本并打印执行结果后并将执行结果发送给客户机;S7、客户机接收执行数据并对进行统计接收工作机群数据生成测试报告并输出。通过将程序打包,可以直接将程序拷贝到各个工作机当中,不需要依赖开发环境直接运行,使用跨平台的开发语言做到跨平台解压即用。与传统的压测工具相比较,省去了布置工作机的开发环境,安装软件等繁琐的步骤。的步骤。的步骤。

【技术实现步骤摘要】
一种分布式压力测试方法及系统


[0001]本专利技术属于压力测试技术改进领域,尤其涉及一种分布式压力测试方法及系统。

技术介绍

[0002]传统的方法对压力测试是建立一个线程池,通过线程组驱动多线程,多线程运行sampler产生负载,在运行过程中通过断言来验证结果的正确性,可以通过添加监听器(聚合报告、图形结果和查看结果树等)来记录测试结果。
[0003]目前均是基于Java的压力测试工具,或需安装客户端的压力测试工具。这样在执行分布式压测的时候,每台Agent设备都需要安装该压力测试工具运行的环境、压测工具客户端(版本需一致)。这些压测工具安装过程非常麻烦,对系统环境的要求也非常高,不利于做分布式压测。

技术实现思路

[0004]本专利技术的目的在于提供一种分布式压力测试方法及系统,旨在解决现有压测工具安装复杂、对系统环境要求非常高的技术问题。
[0005]本专利技术是这样实现的,一种分布式压力测试方法,所述分布式压力测试方法包括以下步骤:S1、开始运行客户机执行Manager.exe文件并行获取工作机IP群列表;S2、判断工作机IP群列表是否存在,若存在,则执行下一步,若不存在,则IpAddress.txt文件输入工作机群组的IP地址并使工作机群组执行Worker.exe文件;S3、判断接口参数列表是否存在,若存在,则执行下一步,若不存在,则Ipa.txt文件输入接口参数列表信息并使工作机群组执行Worker.exe文件;S4、判断压测设置列表是否存在,若存在,则执行下一步,若不存在,则Setup.txt文件输入测试基础参数并是工作机群组执行Worker.exe文件;S5、判断工作机是否执行Worker.py文件,若执行,则发送脚本指令并执行下一步,若不执行,则使工作机群组执行Worker.exe文件;S6、工作机群组执行脚本并打印执行结果后并将执行结果发送给客户机;S7、客户机接收执行数据并对进行统计接收工作机群数据生成测试报告并输出。
[0006]本专利技术的进一步技术方案是:所述步骤S1中客户机分别读取Ipa.txt、IpAddress.txt、Setup.txt配置文件获测试的接口和工作地址,所述Ipa.txt配置文件为测试接口文件,所述IpAddress.txt配置文件为工作机群组的IP地址;所述Setup.txt配置文件为测试接触参数。
[0007]本专利技术的进一步技术方案是:所述步骤S6中还包括以下步骤:S61、判断是否接收脚本命令,若接收,则执行下一步,若不接收,则等待接收脚本指令并执行步骤S61;S62、接收完执行脚本进行测压并获取结果且将其反馈给工作机。
[0008]本专利技术的进一步技术方案是:所述步骤S1中包括以下步骤:S11、执行脚本命令获取IpAddress.txt内参数且判断IpAddress.txt内参数是否为空,若为空,则重新填写IP地址参数并执行步骤S11,若不为空,则获取Ipa.txt内参数并执行下一步;S12、判断Ipa.txt内参数是否为空,若为空,则重新填写Ipa参数并执行步骤S11,若不为空,则获取Setup.txt内参数并执行下一步;S13、判断Setup.txt内参数是否为空,若为空,则重新填写Setup地址参数并执行步骤S11,若不为空,则想工作机发送脚本命令。
[0009]本专利技术的进一步技术方案是:所述客户机利用PyInstaller是一个用来将 Python 程序打包成一个独立可执行软件包,支持 Windows、Linux 和 Mac OS X。
[0010]本专利技术的另一目的在于提供一种分布式压力测试系统,所述分布式压力测试系统包括:执行获取模块,用于开始运行客户机执行Manager.exe文件并行获取工作机IP群列表;判断列表模块,用于判断工作机IP群列表是否存在,若存在,则执行判断接口模块,若不存在,则IpAddress.txt文件输入工作机群组的IP地址并使工作机群组执行Worker.exe文件;判断接口模块,用于断接口参数列表是否存在,若存在,则执行判断压测模块,若不存在,则Ipa.txt文件输入接口参数列表信息并使工作机群组执行Worker.exe文件;判断压测模块,用于判断压测设置列表是否存在,若存在,则执行判断执行模块,若不存在,则Setup.txt文件输入测试基础参数并是工作机群组执行Worker.exe文件;判断执行模块,用于判断工作机是否执行Worker.py文件,若执行,则发送脚本指令并执行脚本获取结果模块,若不执行,则使工作机群组执行Worker.exe文件;脚本获取结果模块,用于工作机群组执行脚本并打印执行结果后并将执行结果发送给客户机;报告输出模块,用于客户机接收执行数据并对进行统计接收工作机群数据生成测试报告并输出。
[0011]本专利技术的进一步技术方案是:所述执行获取模块中客户机分别读取Ipa.txt、IpAddress.txt、Setup.txt配置文件获测试的接口和工作地址,所述Ipa.txt配置文件为测试接口文件,所述IpAddress.txt配置文件为工作机群组的IP地址;所述Setup.txt配置文件为测试接触参数。
[0012]本专利技术的进一步技术方案是:所述脚本获取结果模块中还包括:判断接收单元,用于判断是否接收脚本命令,若接收,则执行结果反馈单元,若不接收,则等待接收脚本指令并执行判断接收单元;结果反馈单元,用于接收完执行脚本进行测压并获取结果且将其反馈给工作机。
[0013]本专利技术的进一步技术方案是:所述执行获取模块中还包括:第一判断单元,用于执行脚本命令获取IpAddress.txt内参数且判断IpAddress.txt内参数是否为空,若为空,则重新填写IP地址参数并执行第一判断单元,若不为空,则获取Ipa.txt内参数并执行第二判断单元;
第二判断单元,用于判断Ipa.txt内参数是否为空,若为空,则重新填写Ipa参数并执行步骤S11,若不为空,则获取Setup.txt内参数并执行第三判断单元;第三判断单元,用于判断Setup.txt内参数是否为空,若为空,则重新填写Setup地址参数并执行步骤S11,若不为空,则想工作机发送脚本命令。
[0014]本专利技术的进一步技术方案是:所述客户机利用PyInstaller是一个用来将 Python 程序打包成一个独立可执行软件包,支持 Windows、Linux 和 Mac OS X。
[0015]本专利技术的有益效果是:通过将程序打包,可以直接将程序拷贝到各个工作机当中,不需要依赖开发环境直接运行,使用跨平台的开发语言做到跨平台解压即用。与传统的压测工具相比较,省去了布置工作机的开发环境,安装软件等繁琐的步骤。
附图说明
[0016]图1是本专利技术实施例提供的分布式压力测试方法的流程图。
[0017]图2是本专利技术实施例提供的Manager.exe文件的配置参考图。
[0018]图3是本专利技术实施例提供的工作机执行Worker.exe文件运行示意图。
[0019]图4是本发本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式压力测试方法,其特征在于,所述分布式压力测试方法包括以下步骤:S1、开始运行客户机执行Manager.exe文件并行获取工作机IP群列表;S2、判断工作机IP群列表是否存在,若存在,则执行下一步,若不存在,则IpAddress.txt文件输入工作机群组的IP地址并使工作机群组执行Worker.exe文件;S3、判断接口参数列表是否存在,若存在,则执行下一步,若不存在,则Ipa.txt文件输入接口参数列表信息并使工作机群组执行Worker.exe文件;S4、判断压测设置列表是否存在,若存在,则执行下一步,若不存在,则Setup.txt文件输入测试基础参数并是工作机群组执行Worker.exe文件;S5、判断工作机是否执行Worker.py文件,若执行,则发送脚本指令并执行下一步,若不执行,则使工作机群组执行Worker.exe文件;S6、工作机群组执行脚本并打印执行结果后并将执行结果发送给客户机;S7、客户机接收执行数据并对进行统计接收工作机群数据生成测试报告并输出。2.根据权利要求1所述的分布式压力测试方法,其特征在于,所述步骤S1中客户机分别读取Ipa.txt、IpAddress.txt、Setup.txt配置文件获测试的接口和工作地址,所述Ipa.txt配置文件为测试接口文件,所述IpAddress.txt配置文件为工作机群组的IP地址;所述Setup.txt配置文件为测试接触参数。3.根据权利要求2所述的分布式压力测试方法,其特征在于,所述步骤S6中还包括以下步骤:S61、判断是否接收脚本命令,若接收,则执行下一步,若不接收,则等待接收脚本指令并执行步骤S61;S62、接收完执行脚本进行测压并获取结果且将其反馈给工作机。4.根据权利要求3所述的分布式压力测试方法,其特征在于,所述步骤S1中包括以下步骤:S11、执行脚本命令获取IpAddress.txt内参数且判断IpAddress.txt内参数是否为空,若为空,则重新填写IP地址参数并执行步骤S11,若不为空,则获取Ipa.txt内参数并执行下一步;S12、判断Ipa.txt内参数是否为空,若为空,则重新填写Ipa参数并执行步骤S11,若不为空,则获取Setup.txt内参数并执行下一步;S13、判断Setup.txt内参数是否为空,若为空,则重新填写Setup地址参数并执行步骤S11,若不为空,则想工作机发送脚本命令。5.根据权利要求4所述的分布式压力测试方法,其特征在于,所述客户机利用PyInstaller是一个用来将 Python 程序打包成一个独立可执行软件包,支持 Windows、Linux 和 Mac OS X。6.一种分布式压力测试系统,其特征在于,所述分布式压力测试系统包括:执行获取模块,用于开始运行客户机执行...

【专利技术属性】
技术研发人员:周俊杰曾威
申请(专利权)人:华夏城视网络电视股份有限公司
类型:发明
国别省市:

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

1