jmeter 壓測常見的幾種報錯


 

一、 socket closed

 

  問題原因:在JMeter下,發送http 請求時,一般都是默認選擇了use keepAlive,這個是連接協議,JMeter坑就在這里,默認勾選了這個(如果不勾選的話,也不會保存),但其配置JMeter.properties中的時間設置默認卻是注銷的,也是是說,不會等待,一旦連接空閑,則立馬斷開了,導致我們壓測中出現了事務失敗的情形。


解決:修改httpclient4.idletimeout=<time in ms> 設置成自己覺得合理的時間,一般可設置成10-60s(表示連接空閑10s后才會斷開),注意這邊單位是ms。修改完成后再次壓測,錯誤不再有了。


原文 :https://blog.csdn.net/shengnianbuzai/article/details/78345697?locationNum=8&fps=1

 

二、address already in use:connect

運行腳本報錯:

java.net.BindException: Address already in use: connect

 

原因分析:

這個問題的原因是windows端口被耗盡了(默認1024-5000),而且操作系統要 2~4分鍾才會重新釋放這些端口,所以可以增加windows的可用端口來解決。windows端口最大數為65534

 

解決方法一:

修改操作系統注冊表

1、cmd輸入:regedit
2、找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TCPIP\Parameters
3、新建兩個 DWORD值,name:MaxUserPort,value:65534(十進制);name:TcpTimedWaitDelay,value:30(十進制)

4、重啟系統

 

解決方法二:

設置線程組時,勾選 same user on each iteration 。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM