一种性能测试中压力产生服务的调度方法、装置和系统制造方法及图纸

技术编号:30827920 阅读:16 留言:0更新日期:2021-11-18 12:31
本申请提供了一种性能测试中压力产生服务的调度方法、装置和系统,包括当处于对目标被测系统进行性能测试时,测试端获取被测系统的服务性能数据、资源开销数据、服务资源数据以及资源利用数据;测试端依据预设调度规则分析被测系统的服务性能数据、资源开销数据、服务资源数据以及资源利用数据,生成第一调度指令和第二调度指令;测试端将第一调度指令和/或第二调度指令发送至云服务器;云服务器还用于依据第一调度指令增加、减少或保持压力产生器中虚拟用户的数量。通过测试端监控云服务器内压力产生器和虚拟压力产生装置的运行数据动态调整压力产生器内虚拟用户的数量和虚拟压力产生装置的数量,实现合理调度云服务器的资源。资源。资源。

【技术实现步骤摘要】
一种性能测试中压力产生服务的调度方法、装置和系统


[0001]本申请涉及云计算领域,特别是一种性能测试中压力产生服务的调度方法、装置和系统。

技术介绍

[0002]目前,随着应用系统用户量和处理要求的逐步提升,带来了越来越高的性能需求,对性能测试也提出更高的要求。
[0003]现有技术通常用采用性能测试前置定义分配压力机的方式,在即在测试开展前即预先分配好测试的压力产生主机。在测试过程中如果压力不足,则需要人工输入指令增加压力产生资源或停止测试。其缺点如下:
[0004]1、实际上对于较复杂场景的性能测试,很难在尚未测试系统性能表现的情况下一次分配好压力产生的策略,需要不断地试错,重复测试和调整,增加了测试的时间和工作量。
[0005]2、在进行资源前期分配时要确保每个压力主机处于启动状态(即使此时尚未执行测试),增加了闲时资源的占用和能耗开销。
[0006]3、测试任务开始执行后,如果需要资源调整,需要人工执行,未实现自动化。增加了执行成本且无法保证调整的及时性。
[0007]4、资源调整只能涉及压力产生机数量和虚拟用户数的增加。虚拟用户和压力产生机的对应关系在测试前就已经定义,在测试执行时无法动态调整(如当压力机无法承受预先配置的虚拟用户数时,只能停止测试)。

技术实现思路

[0008]鉴于所述问题,提出了本申请以便提供克服所述问题或者至少部分地解决所述问题的一种性能测试中压力产生服务的调度方法,应用于云服务器对被测系统进行分布式性能测试,所述方法涉及测试端、云服务器以及被测系统,所述云服务器内设有预设数量的压力产生器和虚拟压力产生装置,其中,每一所述虚拟压力产生装置对应一所述压力产生器;所述云服务器用于通过所述压力产生器向所述被测系统产生数据访问压力,并依据所述压力产生器获取的被测系统的响应状况生成被测系统的服务性能数据,所述云服务器用于通过所述虚拟压力产生装置向所述压力产生器分配虚拟用户,并依据所述虚拟压力产生装置资源开销状况生成资源开销数据;所述被测系统用于依据自身运行情况生成服务资源数据和资源利用数据;所述方法包括:
[0009]当处于对目标被测系统进行性能测试时,所述测试端获取所述被测系统的服务性能数据、所述资源开销数据、所述服务资源数据以及所述资源利用数据;
[0010]所述测试端依据预设调度规则分析所述被测系统的服务性能数据、所述资源开销数据、所述服务资源数据以及所述资源利用数据,生成第一调度指令和第二调度指令;
[0011]所述测试端将所述第一调度指令和/或所述第二调度指令发送至所述云服务器;
所述云服务器还用于依据所述第一调度指令增加、减少或保持所述压力产生器中虚拟用户的数量,和/或依据所述第二调度指令增加或减少所述虚拟压力产生装置的数量。
[0012]可选地,所述测试端依据预设调度规则分析所述被测系统的服务性能数据、所述资源开销数据、所述服务资源数据以及所述资源利用数据,生成第一调度指令和/或第二调度指令的步骤,还包括:
[0013]所述测试端依据预设调度规则分析所述被测系统的服务性能数据、所述资源开销数据、所述服务资源数据以及所述资源利用数据,生成第三调度指令;所述云服务器还用于依据所述第三调度指令增加或减少所述压力产生器向所述被测系统产生数据访问压力的频率。
[0014]可选地,所述测试端包括网关服务器,所述测试端通过所述网关服务器接收所述云服务器发送的被测系统的服务性能数据,并通过所述网关服务器将所述第一调度指令发送至所述云服务器。
[0015]可选地,所述网关服务器包括注册装置,所述注册装置用于接收并受理所述压力产生器的服务注册请求,其中,所述服务注册请求包括压力产生器的服务端口和压力产生器的IP地址;所述测试端依据预设调度规则分析所述被测系统的服务性能数据、所述资源开销数据、所述服务资源数据以及所述资源利用数据,生成第一调度指令的步骤之后,还包括:
[0016]所述测试端通过所述注册装置发起针对于所述服务端口和所述IP地址的获取请求;
[0017]所述测试端依据所述服务端口和所述IP地址向所述压力产生器发送所述第一调度指令。
[0018]可选地,所述测试端还包括云管服务器,所述测试端通过所述云管服务器接收所述云服务器发送的资源开销数据,并通过所述云管服务器将所述第二调度指令发送至所述云服务器。
[0019]可选地,所述方法还涉及监控服务器,所述监控服务器用于获取所述被测系统的应用服务器的服务资源数据和所述被测系统的主机的资源利用数据,并将所述服务资源数据和所述资源利用数据发送至所述测试端。
[0020]可选地,所述预设调度规则包括:
[0021]当所述虚拟压力产生装置的CPU利用率达到85%,则不再发送增加与所述虚拟压力产生装置对应的所述压力产生器中虚拟用户的指令;或/和,
[0022]当被测系统应用服务器的MQ队列长度大于32,则不再发送增加所述压力产生器中虚拟用户数的指令;或/和,
[0023]当被测系统的被测业务的响应时间大于15秒,则向所述压力产生器发送相邻压力请求之间的间隔时间增加3秒的指令;或/和,
[0024]当所有的所述压力产生器的CPU利用率低于20%,则向所述压力产生器发送将部分所述虚拟压力产生装置中压力产生器的虚拟用户迁移到另一部分所述虚拟压力产生装置中所述压力产生器上的指令,同时向所述云管服务器发送关停无虚拟用户的所述虚拟压力产生装置的指令;或/和,
[0025]当所有的所述压力产生器的CPU利用率高于80%,则向所述云管服务器发送增加
一倍数量的所述虚拟压力产生装置的指令,同时向所述压力产生器发送将当前所有的虚拟用户平均迁移到所有的虚拟压力产生装置的压力产生器中的指令。
[0026]可选地,应用于云服务器对被测系统进行分布式性能测试,所述方法涉及测试端、云服务器以及被测系统;所述云服务器内设有预设数量的压力产生器和虚拟压力产生装置,其中,每一所述虚拟压力产生装置对应一所述压力产生器;所述云服务器用于通过所述压力产生器向所述被测系统产生数据访问压力,并依据所述压力产生器获取的被测系统的响应状况生成被测系统的服务性能数据,所述云服务器用于通过所述虚拟压力产生装置向所述压力产生器分配虚拟用户,并依据所述虚拟压力产生装置资源开销状况生成资源开销数据;所述被测系统用于依据自身运行情况生成服务资源数据和资源利用数据;所述方法包括:
[0027]当处于对目标被测系统进行性能测试时,所述云服务器将所述被测系统的服务性能数据和所述资源开销数据发送至所述测试端;所述测试端用于接收并依据所述被测系统的服务性能数据、所述资源开销数据、所述服务资源数据以及所述资源利用数据,生成第一调度指令和第二调度指令,并将所述第一调度指令和/或所述第二调度指令发送至所述云服务器;
[0028]所述云服务器接收所述第一调度指令和/或所述第二调度指令,并依据所述第一调度指令增加、减少或保持压力产生器中虚拟本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种性能测试中压力产生服务的调度方法,其特征在于,应用于云服务器对被测系统进行分布式性能测试,所述方法涉及测试端、云服务器以及被测系统,所述云服务器内设有预设数量的压力产生器和虚拟压力产生装置,其中,每一所述虚拟压力产生装置对应一所述压力产生器;所述云服务器用于通过所述压力产生器向所述被测系统产生数据访问压力,并依据所述压力产生器获取的被测系统的响应状况生成被测系统的服务性能数据,所述云服务器用于通过所述虚拟压力产生装置向所述压力产生器分配虚拟用户,并依据所述虚拟压力产生装置的资源开销状况生成资源开销数据;所述被测系统用于依据自身运行情况生成服务资源数据和资源利用数据;所述方法包括:当处于对目标被测系统进行性能测试时,所述测试端获取所述被测系统的服务性能数据、所述资源开销数据、所述服务资源数据以及所述资源利用数据;所述测试端依据预设调度规则分析所述被测系统的服务性能数据、所述资源开销数据、所述服务资源数据以及所述资源利用数据,生成第一调度指令和第二调度指令;所述测试端将所述第一调度指令和/或所述第二调度指令发送至所述云服务器;所述云服务器还用于依据所述第一调度指令增加、减少或保持所述压力产生器中虚拟用户的数量,和/或依据所述第二调度指令增加或减少所述虚拟压力产生装置的数量。2.依据权利要求1所述的方法,其特征在于,所述测试端依据预设调度规则分析所述被测系统的服务性能数据、所述资源开销数据、所述服务资源数据以及所述资源利用数据,生成第一调度指令和/或第二调度指令的步骤,还包括:所述测试端依据预设调度规则分析所述被测系统的服务性能数据、所述资源开销数据、所述服务资源数据以及所述资源利用数据,生成第三调度指令;所述云服务器还用于依据所述第三调度指令增加或减少所述压力产生器向所述被测系统产生数据访问压力的频率。3.依据权利要求1所述的方法,其特征在于,所述测试端包括网关服务器,所述测试端通过所述网关服务器接收所述云服务器发送的被测系统的服务性能数据,并通过所述网关服务器将所述第一调度指令发送至所述云服务器。4.依据权利要求3所述的方法,其特征在于,所述网关服务器包括注册装置,所述注册装置用于接收并受理所述压力产生器的服务注册请求,其中,所述服务注册请求包括压力产生器的服务端口和压力产生器的IP地址;所述测试端依据预设调度规则分析所述被测系统的服务性能数据、所述资源开销数据、所述服务资源数据以及所述资源利用数据,生成第一调度指令的步骤之后,还包括:所述测试端通过所述注册装置发起针对于所述服务端口和所述IP地址的获取请求;所述测试端依据所述服务端口和所述IP地址向所述压力产生器发送所述第一调度指令。5.依据权利要求3所述的方法,其特征在于,所述测试端还包括云管服务器,所述测试端通过所述云管服务器接收所述云服务器发送的资源开销数据,并通过所述云管服务器将所述第二调度指令发送至所述云服务器。6.依据权利要求1所述的方法,其特征在于,所述方法还涉及监控服务器,所述监控服务器用于获取所述被测系统的应用服务器的服务资源数据和所述被测系统的主机的资源利用数据,并将所述服务资源数据和所述资源利用数据发送至所述测试端。
7.依据权利要求1所述的方法,其特征在于,所述预设调度规则包括:当所述虚拟压力产生装置的CPU利用率达到85%,则不再发送增加与所述虚拟压力产生装置对应的所述压力产生器中虚拟用户的指令;或/和,当被测系统应用服务器的MQ队列长度大于32,则不再发送增加所述压力产生器中虚拟用户数的指令;或/和,当被测系统的被测业务的响应时间大于15秒,则向所述压力产生器发送相邻压力请求之间的间隔时间增加3秒的指令;或/和,当所有的所述压力产生器的CPU利用率低于20%,则向所述压力产生器发送将部分所述虚拟压力产生装置中压力产生器的虚拟用户迁移到另一部分所述虚拟压力产生装置中所述压力产生器上的指令,同时向所述云管服务器发送关停无虚拟用户的所述虚拟压力产生装置的指令;或/和,当所有的所述压力产生器的CPU利用率高于80%,则向所述云管服务器发送增加一倍数量的所述虚拟压力产生装置的指令,同时向所述压力产生器发送将当前所有的虚拟用户平均迁移到所有的虚拟压力产生装置的压力产生器中的指令。8.一种性能测试中压力产生服务的调度方法,其特征在于,应用于云服务器对被测系统进行分布式性能测试,所述方法涉及测试端、云服务器以及被测系统;所述云服务器内设有预设数量的压力产生器和虚拟压力产生装置,其中,每一所述虚拟压力产生装置对应一所述压力产生器;所述云服务器用于通过所述压力产生器向所述被测系统产生数据访问压力,并依据所述压力产生器获取的被测系统的响应状况生成被测系统的服务性能数据,所述云服务器用于通过所述虚拟压力产生装置向所述压力产生器分配虚拟用户,并依据所述...

【专利技术属性】
技术研发人员:劳继武旭春
申请(专利权)人:中正信评深圳技术服务有限公司
类型:发明
国别省市:

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

1