配置jmeter环境
新增1个环境变量:
JMETER_HOME=D:\Tools\apache-jmeter-5.0 【jmeter文件夹】
编辑CLASSPATH:
CLASSPATH后面加上 %JMETER_HOME%\lib\ext\ApacheJMeter_core.jar; %JMETER_HOME%\lib\jorphan.jar;
编辑path:
path后面加上 %JMETER_HOME%\bin;
保存。命令行输入jmeter可以启动jmeter说明配置ok。
执行命令
进入对应jmeter脚本目录,执行命令:jmeter -n -t MQTT_Connect.jmx -l log.jtl
问题&解决方案
问题1:The JVM should have exited but did not.
原因:在执行java请求时会在jmeter线程之外,另外启动java线程,导致在脚本执行结束时JVM无法退出。
修改方法:在jmeter的bin目录下,修改jmeter.properties 中的jmeterengine.force.system.exit=true,去掉前面的#号,让配置生效。
问题2:服务器测试机器内存溢出
原因:可能是因为机器资源不够
内存泄露是指你的应用使用资源之后没有及时释放,导致应用内存中持有了不需要的资源,这是一种状态描述;
内存溢出是指你应用的内存已经不能满足正常使用了,堆栈已经达到系统设置的最大值,进而导致崩溃,这事一种结果描述;
通常都是由于内存泄露导致堆栈内存不断增大,从而引发内存溢出。
在利用jmeter测试过程中,如果内存溢出的话,一般会出现这个提示:java.lang.OutOfMemoryError: Java heap space:意思就是堆内存溢出,不够用了。
修改方法:
根据经验:HEAP最多设置为物理内存的一半,如果HEAP超过物理内存的一半,会导致Jmeter运行变慢甚至内存溢出,原因是Java比较吃内存,占CPU。
注意:JDK32位的电脑Xms不能超过1500M,最多1378M,否则启动Jmeter会报错。