System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种并发测试方法与系统技术方案_技高网

一种并发测试方法与系统技术方案

技术编号:41142289 阅读:6 留言:0更新日期:2024-04-30 18:11
本发明专利技术提出并发测试方法与系统,属于并发测试技术领域。方法包括:获取线上服务对应预设时段的历史日志数据,所述历史日志数据包含在所述预设时段内用户请求所述线上服务的数量‑时间分布数据;基于所述数量‑时间分布数据,构建并发测试脚本;在Linux服务器里设定定时任务,采用所述jmeter工具执行jmeter命令运行并发测试脚本;其中用户请求所述线上服务时,执行至少一种目标事务。本发明专利技术并使用参数化来动态控制每个接口的线程数和用户,后期修改每个接口用户访问量的比例,只需要修改CSV文件,无需修改jmeter脚本。维护起来更加方便,效率更高,投入的人员和时间更少。

【技术实现步骤摘要】

本专利技术属于并发测试,尤其涉及一种并发测试方法与系统


技术介绍

1、并发测试又称并发性能测试,是指在同一时间内多个用户或进程同时访问同一应用程序或系统的测试方法。它可以检测系统在高负载下的性能和稳定性,并发现系统中存在的性能瓶颈和竞争条件问题。并发测试通常通过模拟大量用户同时访问系统来测试其性能,以确保系统能够在高负载下保持稳定和可靠。

2、性能测试的目的当然是为了测试出线上服务的最优支撑情况,达到最大支撑时候服务器的情况等。既然要测试出线程服务的最优情况,那么我们的性能测试环境的服务架构,应用到的软硬件等就要和线上对标或等比例缩放服务器配置,解决了环境问题,我们还要考虑线上用户的请求轨迹,例如一个业务线有10个接口,线上用户对接口的请求的先后顺序,每一个接口的请求比例分别是多少,这就引出另外一个概念--业务模型。业务模型我们要根据历史用户的请求日志去分析,最终确定线上业务模型是什么样的,在混合场景中我们要按照线上业务模型去设置业务比例,也就是接口比例,因此配置接口比例(用户数/业务类别)等并行测试参数成为制约并发性能测试有效性的主要因素。


技术实现思路

1、为解决上述技术问题,本专利技术提出一种并发测试方法与系统、电子设备与计算机可读存储介质。

2、在本专利技术的第一个方面,提出一种并发测试方法。

3、具体执行时,所述方法基于jmeter工具实现,包括如下步骤:获取线上服务对应预设时段的历史日志数据,所述历史日志数据包含在所述预设时段内用户请求所述线上服务的数量-时间分布数据;

4、基于所述数量-时间分布数据,构建并发测试脚本;

5、在linux服务器里设定定时任务,采用所述jmeter工具执行jmeter命令运行并发测试脚本;

6、其中用户请求所述线上服务时,执行至少一种目标事务。

7、所述历史日志数据包含在所述预设时段内用户请求所述线上服务的数量-时间分布数据,具体包括:

8、获取在所述预设时段内请求所述线上服务的用户识别符集合;

9、针对每一个用户,获取每一个用户请求所述线上服务时执行的所有目标事务的种类;

10、确定在请求所述线上服务时至少m个用户都执行的k个目标事务;

11、依次获取每个目标事务被执行的时间点以及该时间点请求所述线上服务的用户数量;

12、将k个目标事务对应的{被执行时间点,该时间点请求所述线上服务的用户数量}作为所述数量-时间分布数据。

13、基于所述数量-时间分布数据,构建并发测试脚本,具体包括:

14、基于jmeter工具构建gui界面;

15、在所述gui界面中,添加csv data set config元件,所述csv data set config元件用于控制每个目标事务事务对应的用户数;

16、在csv文件里配置用户数和用户归属的事务,每个事务的线程组里添加if控制器。所述if控制器用于控制每个线程组对应的用户,从而使得每个目标事务请求的用户数量不同,且使用的用户不重复。

17、所述在linux服务器里设定定时任务,采用所述jmeter工具执行jmeter命令运行并发测试脚本,具体包括:

18、在linux服务器上搭建运行并发测试脚本所需要的运行环境,调试好并发测试脚本后将脚本传到服务器上;

19、使用定时执行任务工具crontab设定一个定时任务,使得并发测试脚本在指定的时间里执行。

20、进一步的,在csv文件里存有用户的cookie和目标事务work的数据,不同的cookie值代表着不同的用户,不同的work代表不同的事务。通过修改csv文件来实现多次不同的并发测试过程。

21、在本专利技术的第二个方面,提供一种并发测试装置,该装置可用于实现前述第一个方面所述的并发测试方法。

22、所述并发测试装置包括:

23、历史数据获取单元,用于获取线上服务对应预设时段的历史日志数据,所述历史日志数据包含在所述预设时段内用户请求所述线上服务的数量-时间分布数据;

24、脚本构建单元,基于所述数量-时间分布数据,构建并发测试脚本;

25、运行单元,在linux服务器里设定定时任务,采用jmeter工具执行jmeter命令运行并发测试脚本;

26、其中用户请求所述线上服务时,执行至少一种目标事务;

27、所述脚本构建单元,基于所述数量-时间分布数据,构建并发测试脚本,具体包括:

28、基于jmeter工具构建gui界面;

29、在所述gui界面中,添加csv data set config元件,所述csv data set config元件用于控制每个目标事务事务对应的用户数;

30、在csv文件里存有用户的cookie和目标事务work的数据,不同的cookie值代表着不同的用户,不同的work代表不同的事务。

31、接下来,所述在linux服务器里设定定时任务,采用所述jmeter工具执行jmeter命令运行并发测试脚本,具体包括:

32、在linux服务器上搭建运行并发测试脚本所需要的运行环境,调试好并发测试脚本后将脚本传到服务器上;

33、使用定时执行任务工具crontab设定一个定时任务,使得并发测试脚本在指定的时间里执行。

34、本专利技术的上述方法可以通过计算机程序以及计算机设备自动化执行。因此,在本专利技术的第三个方面,提出一种并发测试的电子设备,其包含处理器与存储器,所述处理器与所述存储器通过总线通信,所述存储器存储有计算机可执行程序指令;通过处理器执行所述可执行指令,用于实现实现前述第一个方面所述的并发测试方法。

35、电子设备还可以包含任何形式的计算机可读存储介质,所述存储介质存储有程序,所述程序被处理器执行实现前述第一个方面所述的并发测试方法。

36、本专利技术的技术方案,获取线上服务对应预设时段的历史日志数据,所述历史日志数据包含在所述预设时段内用户请求所述线上服务的数量-时间分布数据;基于所述数量-时间分布数据,构建并发测试脚本;在linux服务器里设定定时任务,采用所述jmeter工具执行jmeter命令运行并发测试脚本。可以看到,本专利技术通过在linux服务器里设定定时任务,执行jmeter命令去运行混合场景的性能测试脚本,并使用参数化来动态控制每个接口的线程数和用户,后期修改每个接口用户访问量的比例,只需要修改csv文件,无需修改jmeter脚本。维护起来更加方便,效率更高,投入的人员和时间更少。

37、本专利技术的进一步优点将结合说明书附图在具体实施例部分进一步详细体现。

本文档来自技高网...

【技术保护点】

1.一种并发测试方法,所述方法基于jmeter工具实现,其特征在于,所述方法包括如下步骤:

2.如权利要求1所述的一种并发测试方法,其特征在于:

3.如权利要求1所述的一种并发测试方法,其特征在于:

4.如权利要求3所述的一种并发测试方法,其特征在于:

5.如权利要求1所述的一种并发测试方法,其特征在于:

6.如权利要求3所述的一种并发测试方法,其特征在于:

7.如权利要求4所述的一种并发测试方法,其特征在于:

8.一种并发测试装置,其特征在于,所述并发测试装置包括:

9.一种并发测试设备,其特征在于,所述并发测试设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的并发测试程序,所述并发测试程序配置为实现如权利要求1至7中任一项所述的并发测试方法的步骤。

10.一种存储介质,其特征在于,所述存储介质上存储有并发测试程序,所述并发测试程序被处理器执行时实现如权利要求1至7任一项所述的并发测试方法的步骤。

【技术特征摘要】

1.一种并发测试方法,所述方法基于jmeter工具实现,其特征在于,所述方法包括如下步骤:

2.如权利要求1所述的一种并发测试方法,其特征在于:

3.如权利要求1所述的一种并发测试方法,其特征在于:

4.如权利要求3所述的一种并发测试方法,其特征在于:

5.如权利要求1所述的一种并发测试方法,其特征在于:

6.如权利要求3所述的一种并发测试方法,其特征在于:

7.如权利要求4所述的一种并发测试...

【专利技术属性】
技术研发人员:曹勋
申请(专利权)人:语联网武汉信息技术有限公司
类型:发明
国别省市:

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

1