jmeter-脚本执行
·
GUI模式执行
这种方式一般是在调试脚本时使用,不建议在真正接口压测的时候使用,主要原因是UI界面执行大量并发时会占用过高的CPU;计算机的本省的性能会很大情况上影响压测结果,导致测试结果不准确。
cmd执行
1. 命令
jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]
- jmx file是测试计划文件路径
- results file是测试结果文件路径
- Path to web report folder 报告路径
- -n:非GUI模式,其实就是命令行的模
- -t:后跟测试文件(jmx文件)
- -l:后跟log文件,把测试的过程输出到日志文件中
- -e:测试结束后生成报告
- -o:测试报告存放目录,必须为空目录
2. 文件路径

3. 命令执行
jmeter -n -t D:/jmeter/my_test/permission.jmx -l D:/jmeter/my_test/result/result.txt -e -o D:/jmeter/my_test/report

4. 执行完毕之后,从报告路径打开html既可查看结果:

5. 再次执行,结果如下:

- 原因:再次执行同一脚本,需要清理report和result文件。
- 解决办法:新建bat文件,每次执行脚本前删除文件和文件夹,并且新建文件夹
@echo off del/s/Q report rd/s/Q report del/s/Q result rd/s/Q result md report md result ::这里使用了相对路径,bat文件放在了jmx文件同级目录,也可使用绝对路径 jmeter -n -t permission.jmx -l result/result.txt -e -o report
6、动态设置并发数、执行时间、循环次数

配置说明
- 并发数设置为${__P(concurrent_number,1)}
- 循环次数设置为${__P(cycles,1)},取消勾选Forever
- 1是默认值,作用是执行一次来调试脚本,
- =-1时即表示Forever(持续压测时设置为-1)
- 执行时长设置为${__P(duration,60)},默认1分钟(60s),如果同时设置了循环次数和执行时长,那么满足其中一个条件脚本就会停止
50并发执行10min的命令行如下:
jmeter -n -t permission.jmx -Jconcurrent_number=50 -Jduration=600 -Jcycles=1 -l result/result.txt -e -o report
Linux服务器执行
- 镜像服务-镜像仓库:jmeter-tomact-new
- 克隆并构建
- 先将jmeter压缩包上传到根目录,构建镜像
- 克隆并构建上次的镜像
- jmx脚本放在/apache-jmeter-5.5/bin
- 弹性计算-容器服务,选择:jmeter-tomact/tomact-new
- 新构建服务后,需要升级选择镜像版本
- 点击进入终端
- cd usr/local/tomcat/webapps/
- 新建文件夹:mkdir ROOT
- cd apache-jmeter-5.5/bin
- 增加权限:chmod +x jmeter
- 输入命令,执行jmx脚本(每次执行report文件须):
sh jmeter.sh -n -t test_per.jmx -Jconcurrent_number=30 -Jduration=600 -Jcycles=-1 -l /usr/local/tomcat/webapps/ROOT/report30/result.txt -e -o /usr/local/tomcat/webapps/ROOT/report30
执行中:

执行./jmeter报错【./jmeter:Permission denied】
-
分析:是由于jmeter的没有执行权限
-
【查询权限的方法】
1)输入命令:ls -al
2)查看对应文件的权限,类似于:-rw-r–r–
3)含义:
r 表示文件可以被读(read)
w 表示文件可以被写(write)
x 表示文件可以被执行(如果它是程序的话,execute)- 表示相应的权限还没有被授予
-
解决办法:
-
需要进入到bin目录下,增加权限:chmod +x jmeter
-
增加后可输入命令:ls -al 查看是否增加权限
(-rwxr-xr-x 1 root root 8644 Feb 1 1980 jmeter) -
运行命令:sh jmeter.sh -v (可验证是否成功))

sh jmeter.sh -n -t test_per.jmx -Jconcurrent_number=50 -Jduration=600 -Jcycles=-1 -l /usr/local/tomcat/report50/result.txt -e -o /usr/local/tomcat/repor50
-
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐
所有评论(0)