每天學點新知識,心情都美好了~
困擾了好幾個工作日的Jmeter MQTT壓測報錯問題,今天在組長的引薦下跟一位測試大佬聊過后,終于解決了。。。
之前壓測結果一直有報錯
- mqtt connect 報502:Failed to establish Connection null.
- mqtt pub 報501:Publish failed for connection HiveMQTTConnection{clientId='conn042704_460077032539'}.
讓研發(fā)幫忙看服務器端,服務器都還好好的,也沒什么報錯信息,搞了好幾次之后,研發(fā)都不愛搭理我了。我也自覺是我這邊的問題,測試結果都不敢下定論,進入死胡同。
今天跟大佬聊,給他看了下錯誤以及腳本配置,大佬給出兩個方案,第二個方案實測有效!
jmeter.bat中修改一個配置:
set HEAP=-Xms1024m -Xmx8192m
這個改了之后,我運行一次還是有報錯,但這個對資源的優(yōu)化也是有用的,相當于是給jmeter更多的內存空間;聚合報告、查看結果樹這兩個監(jiān)聽,都勾選上“僅錯誤日志”
這個改了之后,我運行一次就沒有報錯了,有效?。?!
后來網上再搜了下,如何有效減少壓測機的性能(GUI模式),really 給力!真的是學到了~~~
1.“查看結果樹”,需要勾選“僅日志錯誤”,這樣只會保存錯誤日志到內存,數據不會多。如果保存所有,那么會保存每個請求信息和相關信息,而且這些數據都是保存到jvm內存的,且常駐數據無法回收,上萬十萬大量請求很快就會壓垮jmeter。
2.“聚合報告”中小并(100以內)發(fā)可以保留;高并發(fā)去掉,添加“Simple Data Writer”且保存csv格式數據。“聚合報告”是非常消耗cpu的。
3.其他監(jiān)聽組件可以都去掉,測試完后通過保存的結果,線下生成圖表報告