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


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

1:Parameters的两种参数化方法

1.1:函数助手参数化

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

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

 点击生成,生成函数

 

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

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

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

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

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

 

 


作者:飞天小子,发布于:2018/08/29
原文:https://www.cnblogs.com/Zfc-Cjk/p/8431129.html