接口测试 Jmeter_脚本参数化与内存溢出的解决方案

飞天小子的性能课堂 · 2018年03月01日 · 1416 次阅读

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

1:Parameters 的两种参数化方法

1.1:函数助手参数化

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

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

点击生成,生成函数

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

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

执行一下脚本,观察结果树。可以发现请求发送了三次,每次的用户名不同。
https://images2017.cnblogs.com/blog/946454/201802/946454-20180208124919826-708265723.png

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

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

配置 CSV Data Set Config

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

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


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

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

结尾彩蛋~

使用 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

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

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册