参数化,内存溢出问题
Posted yaohu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了参数化,内存溢出问题相关的知识,希望对你有一定的参考价值。
这一篇文章随便说一下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
现在你会发现,一点也不卡啦!
以上是关于参数化,内存溢出问题的主要内容,如果未能解决你的问题,请参考以下文章
46栈内存溢出内存区域(程序计数器Java 虚拟机栈本地方法栈Java 堆方法区直接内存内存溢出)与内存溢出(对象实例化分析)