配置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會報錯。