Jmeter(二十一)_脚本参数化与内存溢出的解决方案

时间:2022-09-08 20:18:36

这一篇文章随便说一下JMETER的脚本参数化

1:Parameters的两种参数化方法

1.1:函数助手参数化

首先准备你的参数数据。我在bin/data中新建了一个dat文件,记事本另存为修改编码为UTF-8,注意用户名和密码是一一对应的,用英文逗号隔开

Jmeter(二十一)_脚本参数化与内存溢出的解决方案

点击函数助手对话框,填写数据文件路径与列数

Jmeter(二十一)_脚本参数化与内存溢出的解决方案

点击生成,生成函数

Jmeter(二十一)_脚本参数化与内存溢出的解决方案

将生成的函数填入Parameters值中,注意参数与列数的对应关系!

Jmeter(二十一)_脚本参数化与内存溢出的解决方案

我们刚刚在数据中填入了三个参数,这里我们需要修改一下线程。且将线程改为3

Jmeter(二十一)_脚本参数化与内存溢出的解决方案

执行一下脚本,观察结果树。可以发现请求发送了三次,每次的用户名不同。

Jmeter(二十一)_脚本参数化与内存溢出的解决方案

Jmeter(二十一)_脚本参数化与内存溢出的解决方案

Jmeter(二十一)_脚本参数化与内存溢出的解决方案

1.2:Parameters的函数助手参数化就说到这里,下面看一下JSON格式如何参数化。这里我们用到了csv文件参数化的方法

借助jmeter中的配置原件:CSV Data Set Config

Jmeter(二十一)_脚本参数化与内存溢出的解决方案

配置 CSV Data Set Config

Jmeter(二十一)_脚本参数化与内存溢出的解决方案

在json数组中引入变量,执行并查看结果树

Jmeter(二十一)_脚本参数化与内存溢出的解决方案

可以看到执行了三次,每次传入的用户名不同

Jmeter(二十一)_脚本参数化与内存溢出的解决方案

Jmeter(二十一)_脚本参数化与内存溢出的解决方案

Jmeter(二十一)_脚本参数化与内存溢出的解决方案

关于参数化就讲到这里,大家学会了参数化,可以去做压力测试啦~

——————————————————分隔符——————————————————————

结尾彩蛋~

使用jmeter进行压力测试时遇到一段时间后报内存溢出outfmenmory错误,导致jmeter卡死了,此时我们应该怎么办?

内存溢出,我们就去改一下线程吧~

1、windows环境下,修改jmeter.bat
set HEAP=-Xms512m -Xmx4000m
set NEW=-XX:NewSize=256m -XX:MaxNewSize=1024m
改为:
set HEAP=-Xms256m -Xmx1024m
set NEW=-XX:NewSize=128m -XX:MaxNewSize=512m
set PERM=-XX:PermSize=1024m -XX:MaxPermSize=1024m

heap最多设置为物理内存的一半,默认设置为512M.如果heap超过物理内存的一半,可能运行jmeter会慢,甚至出现内存溢出,原因java比较吃内存,占CPU.

注意:JDK32位的电脑Xmx不能超过1500m,最大1378m.否则在启动Jmeter时会报错哦~

如何查看本机JDK的位数?

CMD下执行 java -version

现在你会发现,一点也不卡啦!