之前在windows機上用JMeter壓測,50並發下出現大量接口報“java.net.BindException: Address already in use: connect”錯誤。
從字面的意思看,是地址被占用了。
查資料才知道是windows本身提供的端口數量有限制。導致接口請求時,端口被占用;Windows XP提供給 TCP/IP鏈接的端口為 1024-5000,並且要四分鍾來循環回收他們。就導致我們在短時間內跑大量的請求時將端口占滿了。
解決步驟:
1、cmd中,用regedit命令打開注冊表
2、在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
3、右鍵Parameters
4、添加新的DWORD,名字為MaxUserPort和TcpTimedWaitDelay
5、分別輸入數值數據為65534和30,基數選擇十進制;以增大可分配的tcp連接端口數、減小處於TIME_WAIT狀態的連接的生存時間
6、修改配置完畢之后記得重啟機器才會生效