[发明专利]基于Jmeter的压力测试方法、装置、设备及存储介质有效
申请号: | 201810239745.1 | 申请日: | 2018-03-22 |
公开(公告)号: | CN108572916B | 公开(公告)日: | 2021-09-28 |
发明(设计)人: | 蔡良 | 申请(专利权)人: | 平安科技(深圳)有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 深圳众鼎专利商标代理事务所(普通合伙) 44325 | 代理人: | 吴立 |
地址: | 518000 广东省深*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 jmeter 压力 测试 方法 装置 设备 存储 介质 | ||
本发明公开了一种基于Jmeter的压力测试方法、装置、设备及存储介质,该基于Jmeter的压力测试方法包括:获取目标压力测试请求,所述目标压力测试请求包括至少一个原始数据标识;基于至少一个所述原始数据标识,获取对应的目标自定义函数,其中,所述目标自定义函数为未进行类封装的函数;将所述目标自定义函数封装成BeanShell脚本文件;对所述BeanShell脚本文件进行初始化;调用BeanShell脚本文件中封装的目标自定义函数进行压力测试。该基于Jmeter的压力测试方法在压力测试过程中,可以直接对所需要的目标自定义函数进行调用即可,可以实现一次解释,重复调用的技术效果,在避免线程阻塞的前提下,提高了终端/系统的吞吐率。
技术领域
本发明涉及软件测试领域,尤其涉及一种基于Jmeter的压力测试方法、装置、设备及存储介质。
背景技术
目前市面上有多种对软件进行压力测试的工具,而Jmeter是推荐度较高的压力测试工具之一。Jmeter可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度,以分析整体性能。在使用Jmeter进行压力测试时,通常需要编写程序进行辅助测试,主要的编程方式主要有BeanShell和JSR223脚本(Groovy和Javascript)两种。然而,无论是采用何种方式进行编程,在压力测试中都经常出现系统崩溃的情况。传统地,认为是由于BeanShell的Interpreter存在内存泄露,常规方法无法支持长时间的压力测试而引起的系统崩溃。Jmeter官网推荐,在使用BeanShell进行长时间测试时,可以打开选项“Reset bsh.Interpreter before each call”,即在每次调用BeanShell程序前,都把解释器进行重置,以释放解释器之前占用的内存。然而,开启了解释器重置选项之后,在压力测试中会导致大量的线程阻塞,这大大降低了终端/系统的吞吐率。
发明内容
本发明实施例提供一种基于Jmeter的压力测试方法、装置、设备及存储介质,以解决在压力测试过程中终端/系统吞吐率不高的的问题。
第一方面,本发明实施例提供一种基于Jmeter的压力测试方法,包括:
获取目标压力测试请求,所述目标压力测试请求包括至少一个原始数据标识;
基于至少一个所述原始数据标识,获取对应的目标自定义函数,其中,所述目标自定义函数为未进行类封装的函数;
将所述目标自定义函数封装成BeanShell脚本文件;
对所述BeanShell脚本文件进行初始化;
调用BeanShell脚本文件中封装的目标自定义函数进行压力测试。
第二方面,本发明实施例提供一种基于Jmeter的压力测试装置,包括:
目标压力测试请求获取模块,用于获取目标压力测试请求,所述目标压力测试请求包括至少一个原始数据标识;
目标自定义函数获取模块,用于基于至少一个所述原始数据标识,获取对应的目标自定义函数,其中,所述目标自定义函数为未进行类封装的函数;
目标自定义函数封装模块,用于将所述目标自定义函数封装成BeanShell脚本文件;
初始化模块,用于对所述BeanShell脚本文件进行初始化;
压力测试模块,用于调用BeanShell脚本文件中封装的目标自定义函数进行压力测试。
第三方面,本发明实施例提供一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述基于Jmeter的压力测试方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安科技(深圳)有限公司,未经平安科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810239745.1/2.html,转载请声明来源钻瓜专利网。