使用JMeter 进行压力测试

╰+哭是因爲堅強的太久メ 2023-09-30 20:48 72阅读 0赞

前言

Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。


一、准备工作

安装Java环境以及jmeter

二、实现步骤

1.启动jmeter

进入bin目录,使用jmeter.bat启动程序。

启动之后会有两个窗口,一个cmd窗口,一个JMeter的 GUI。``

cmd窗口:

40ec71becb7349eaa4ff099693f64a8c.png

其中cmd窗口中的提示信息意思为

不要使用GUI运行压力测试,GUI仅用于压力测试的创建和调试;执行压力测试请不要使用GUI。使用下面的命令来执行测试:

jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]

并且修改JMeter批处理文件的环境变量:HEAP=”-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m”

JMeter :

258f49a935104b5291fff53fde8c499c.png

2.创建测试

1.创建线程组``

在“测试计划”上右键 【添加】—>【线程(用户)】—>【线程组】

91652e9b8e6e4bf3b99dd4f73d5ec398.png

设置线程数和循环次数。这里设置线程数为200,循环两次。

970ae9d02abc4d29af58e461399631de.png

2.配置元件

在刚刚创建的线程组上右键 【添加】—>【配置元件】—>【HTTP请求默认值】配置需要进行测试的程序协议、地址和端口,当所有的接口测试的访问域名和端口都一样时,可以使用该元件,一旦服务器地址变更,只需要修改请求默认值即可。

d49285262f584f3885c67700e117428b.png

3.构造HTTP请求

在“线程组”右键 【添加-】->【samlper】—>【HTTP 请求】设置需要测试的API的请求路径和数据。

80c18c724b564231b90a8e8f68087961.png

4.添加HTTP请求头

在创建的线程组上右键 【添加】—>【配置元件】—>【HTTP信息头管理器】可以在这里配置token以及Content-Type

1ce7ba40b84a47a8878d30190a0b5fcf.png

5.添加断言

在创建的线程组上右键 【添加】—>【断言】—>【响应断言】

根据响应的数据来判断请求是否正常。我在这里只判断的响应代码是否为200。还可以配置错误信息

06bbbd6ef4ea4dd1a5a375432c1ef37e.png

6.添加察看结果树

在创建的线程组上右键 【添加】—>【监听器】—>【察看结果树】

然后点击运行按钮就可以看到结果

40bc6c98665e40a58c2023ac46aa9516.png

7.添加聚合报告

在创建的线程组上右键 【添加】—>【监听器】—>【聚合报告】

然后点击运行按钮就可以看到结果了

30875b0cda5642ffbbd54180a037e47c.png

8.测试计划创建完成

保存测试计划

三、执行测试计划

执行测试计划不能用GUI,需要用命令行来执行

8584137df2c4434bb8cd9ed18e5cc4c4.png

执行的命令为:

jmeter -n -t yalices.jmx -l webreport/result.txt -e -o webreport/web

yalices.jmx 为测试计划文件路径

webreport/result.txt 为测试结果文件路径

webreport/web 为web报告保存路径(文件夹要为空)

81bf1ec564da4845a594edad27f75b92.png

Web报告如下:

290b69de90eb40f8a9687739ae6b6964.png


发表评论

表情:
评论列表 (有 0 条评论,72人围观)

还没有评论,来说两句吧...

相关阅读

    相关 使用 JMeter 进行压力测试

    一.前言 压力测试是每一个Web应用程序上线之前都需要做的一个测试,他可以帮助我们发现系统中的瓶颈问题,减少发布到生产环境后出问题的几率;预估系统的承载能力,使我们能根据

    相关 使用JMeter进行压力测试

    1、概述 在工作的时候,经常被领导问,这个服务可以抗住多大的并发量?吞吐量是多少?QPS、TPS是多少?服务器是否需要增加硬件?是否需要做集群? 刚工作的那几年,当被问

    相关 使用jmeter进行压力测试

    项目上经常要对某个接口进行压力测试,,看看能到多少tps 有时候可以用java代码,启用多线程的方式进行测试 也可以用专门的测试工具进行测试:jmeter,soapui等.