System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及软件测试,特别是涉及一种压力部署方法、装置、设备以及存储介质。
技术介绍
1、对于访客量大的被压测系统而言,通过进行压力测试,可以有助于在一定访问压力下,查看被压测系统是否运行稳定。例如对于被压测系统为购票网站而言,通过对购票网站进行压力测试,能有效发现运行过程中可能会出现的故障,并可以验证该购票网站在压力负载状态下的响应速度、响应成功次数等指标情况。
2、相关技术中,通过人工在服务器上部署软件资源,以模拟符合真正的终端用户的逻辑行为的虚拟用户,从而产生批量的压力以对被测系统进行压力测试。但是,当需要进行较大量级的压力测试时,需要通过人工在多个服务器上逐个部署软件资源,导致压力部署的速度较慢,从而导致压力测试的效率低下。
3、因此,如何完成压力的快速部署以提高压力测试的效率,成为亟需解决的技术问题。
技术实现思路
1、本专利技术实施例的目的在于提供一种压力部署方法、装置、设备以及存储介质,以完成压力的快速部署,从而提高压力测试的效率。具体技术方案如下:
2、第一方面,本专利技术实施例提供了一种压力部署方法,应用于主控服务器,所述方法包括:
3、获取针对目标压测任务所需部署压力的目标压力值;其中,所述目标压力值表征所需创建的用于执行所述目标压测任务的虚拟用户的数量;
4、基于所述目标压力值,确定所需创建的指定容器的目标数量;其中,所述指定容器用于模拟一个或多个虚拟用户并执行所述目标压测任务;
5、确
6、基于所述目标数量,指示所述工作服务器利用为所述指定容器提供运行环境的镜像部署所述指定容器;其中,所述工作服务器中所部署的所述指定容器的总量为所述目标数量。
7、可选地,所述指定容器中部署有用于实现模拟一个或多个虚拟用户并执行所述目标压测任务的压测脚本;所述压测脚本为基于指定测试工具所编写的脚本;所述压测脚本在运行时执行:
8、创建至少一个虚拟用户;
9、确定所创建的虚拟用户待执行的业务请求,所述虚拟用户向被压测系统发送所述业务请求,所述被压测系统响应于所述业务请求,执行与所述业务请求相应的业务处理逻辑,并将执行所述业务处理逻辑得到的业务处理结果进行反馈;其中,所述业务请求为对应于指定主题的业务请求,所述指定主题为所述目标压测任务所指示的压测主题;
10、接收所述被压测系统反馈的所述业务处理结果。
11、可选地,所述确定所创建的虚拟用户待执行的业务请求,包括:
12、确定预先为所述指定主题分配的业务参数;
13、基于所确定的业务参数,构建所述虚拟用户待执行的业务请求。
14、可选地,与所述业务请求相应的业务处理逻辑为:被压测系统中用于处理所述业务请求的程序代码的代码逻辑;
15、所述被压测系统响应于所述业务请求执行与所述业务请求相应的业务处理逻辑,并将执行所述业务处理逻辑得到的业务处理结果进行反馈,包括:
16、所述被压测系统响应于所述业务请求,通过运行用于处理所述业务请求的程序代码处理所述业务请求,得到业务处理结果,并将所述业务处理结果进行反馈。
17、可选地,所述虚拟用户向被压测系统发送所述业务请求的方式包括:
18、在所述目标压测任务所指示的压测时间内,所述虚拟用户周期性地向被压测系统发送所述业务请求。
19、可选地,所述虚拟用户向被压测系统发送所述业务请求时的通信方式为非阻塞式通信方式;
20、所述接收所述被压测系统反馈的所述业务处理结果,包括:
21、利用指定线程,接收所述被压测系统反馈的、对应于至少一个业务请求的响应结果,并对所述响应结果进行粘包解析,得到对应于各个业务请求的业务处理结果;其中,所述指定线程为预先分配的、与所述非阻塞式通信方式相匹配的线程。
22、可选地,所述基于所述目标数量,指示所述工作服务器利用为所述指定容器提供运行环境的镜像部署所述指定容器,包括:
23、针对所确定的所述工作服务器中,利用指定组件确定所述工作服务器对应的所述指定容器的待部署数量;其中,各个所述工作服务器对应的待部署数量之和为所述目标数量;
24、指示所述工作服务器利用为所述指定容器提供运行环境的镜像部署所述待部署数量个指定容器。
25、可选地,所述工作服务器利用为所述指定容器提供运行环境的镜像部署所述指定容器,包括:
26、所述工作服务器通过运行为所述指定容器提供运行环境的镜像生成多个指定容器;其中,所述镜像基于指定容器引擎将用于模拟一个或多个虚拟用户并执行所述目标压测任务的相关程序文件打包得到。
27、可选地,所述基于所述目标压力值,确定所需创建的指定容器的目标数量,包括:
28、计算所述目标压力值所表征虚拟用户的数量,与指定数量的比值;其中,所述指定数量为所述指定容器能够模拟出的虚拟用户的最大数量;
29、基于所述比值,确定所需创建的指定容器的目标数量。
30、第二方面,本专利技术实施例提供了一种压力部署集群,包括主控服务器以及工作服务器;
31、所述主控服务器,用于获取针对目标压测任务所需部署压力的目标压力值;其中,所述目标压力值表征所需创建的用于执行所述目标压测任务的虚拟用户的数量;基于所述目标压力值,确定所需创建的指定容器的目标数量;其中,所述指定容器用于模拟一个或多个虚拟用户并执行所述目标压测任务;确定在执行所述目标压测任务时所需利用的工作服务器;基于所述目标数量,指示所述工作服务器利用为所述指定容器提供运行环境的镜像部署所述指定容器;其中,所述工作服务器中所部署的所述指定容器的总量为所述目标数量;
32、所述工作服务器,用于在所述主控服务器的指示下,进行所述指定容器的部署。
33、第三方面,本专利技术实施例提供了压力部署装置,应用于主控服务器,所述装置包括:
34、获取模块,用于获取针对目标压测任务所需部署压力的目标压力值;其中,所述目标压力值表征所需创建的用于执行所述目标压测任务的虚拟用户的数量;
35、第一确定模块,用于基于所述目标压力值,确定所需创建的指定容器的目标数量;其中,所述指定容器用于模拟一个或多个虚拟用户并执行所述目标压测任务;
36、第二确定模块,用于确定在执行所述目标压测任务时所需利用的工作服务器;
37、部署模块,用于基于所述目标数量,指示所述工作服务器利用为所述指定容器提供运行环境的镜像部署所述指定容器;其中,所述工作服务器中所部署的所述指定容器的总量为所述目标数量。
38、可选地,指定容器中部署有用于实现模拟一个或多个虚拟用户并执行所述目标压测任务的压测脚本;所述压测脚本为基于指定测试工具所编写的脚本;所述压测脚本在运行时执行:
39、创建至少一个虚拟用户;本文档来自技高网...
【技术保护点】
1.一种压力部署方法,其特征在于,应用于主控服务器,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述指定容器中部署有用于实现模拟一个或多个虚拟用户并执行所述目标压测任务的压测脚本;所述压测脚本为基于指定测试工具所编写的脚本;所述压测脚本在运行时执行:
3.根据权利要求2所述的方法,其特征在于,所述确定所创建的虚拟用户待执行的业务请求,包括:
4.根据权利要求2所述的方法,其特征在于,与所述业务请求相应的业务处理逻辑为:被压测系统中用于处理所述业务请求的程序代码的代码逻辑;
5.根据权利要求3所述的方法,其特征在于,所述虚拟用户向被压测系统发送所述业务请求的方式包括:
6.根据权利要求5所述的方法,其特征在于,所述虚拟用户向被压测系统发送所述业务请求时的通信方式为非阻塞式通信方式;
7.根据权利要求1-6任一项所述的方法,其特征在于,所述基于所述目标数量,指示所述工作服务器利用为所述指定容器提供运行环境的镜像部署所述指定容器,包括:
8.根据权利要求1-6任一项所述的方法,其特征在于,
9.根据权利要求1-6任一项所述的方法,其特征在于,所述基于所述目标压力值,确定所需创建的指定容器的目标数量,包括:
10.一种压力部署集群,其特征在于,包括主控服务器以及工作服务器;
11.一种压力部署装置,其特征在于,应用于主控服务器,所述装置包括:
12.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-9任一所述的方法步骤。
...【技术特征摘要】
1.一种压力部署方法,其特征在于,应用于主控服务器,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述指定容器中部署有用于实现模拟一个或多个虚拟用户并执行所述目标压测任务的压测脚本;所述压测脚本为基于指定测试工具所编写的脚本;所述压测脚本在运行时执行:
3.根据权利要求2所述的方法,其特征在于,所述确定所创建的虚拟用户待执行的业务请求,包括:
4.根据权利要求2所述的方法,其特征在于,与所述业务请求相应的业务处理逻辑为:被压测系统中用于处理所述业务请求的程序代码的代码逻辑;
5.根据权利要求3所述的方法,其特征在于,所述虚拟用户向被压测系统发送所述业务请求的方式包括:
6.根据权利要求5所述的方法,其特征在于,所述虚拟用户向被压测系统发送所述业务请求时的通信方式为非阻塞式通信方式;
7.根据权利要求1-6任一项所述的方法,其特征在于,所述基于...
【专利技术属性】
技术研发人员:单勇,杨豪,李乐,
申请(专利权)人:北京金山世游互动娱乐科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。