最近在用jmeter做壓力測試時,發現一個問題,當線程持續上升到某個值時,報錯:java.net.BindException: Address already in use: connect,如下圖所示:
原因:windows提供給TCP/IP鏈接的端口爲 1024-5000,並且要四分鐘來循環回收它們,就導致我們在短時間內跑大量的請求時將端口占滿了,導致如上報錯。
解決辦法(在jmeter所在服務器操作):
1.cmd中輸入regedit命令打開註冊表;
2.在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters右鍵Parameters;
3.添加一個新的DWORD,名字爲MaxUserPort;
4.然後雙擊MaxUserPort,輸入數值數據爲65534,基數選擇十進制;
5.完成以上操作,務必重啓機器,問題解決,親測有效;