当线程数持续上升到一个点或并发持续一段时间后,脚本运行可能会报错java.net.BindException: Address already in use: connect。
这是由于Windows系统提供给TCP/IP的端口被全部占用,无法及时回收导致的。
解决方案:
1.cmd中,用regedit命令打开注册表
2.在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
右击parameters,添加一个新的DWORD,名字为MaxUserPort
然后双击MaxUserPort,输入数值数据为65534,基数选择十进制(如果是分布式运行的话,控制机和压力机都需要这样操作),重启电脑
如果仅完成此配置,还是出现这个问题,则需要在上述三步骤后再添加TcpTimedWaitDelay,数值为30-300 选择十进制。然后重新启动电脑使配置生效
如果完成上述配置后,还是出现此问题,请认真检查脚本实现与实际需求是否保持一致,确认是否真的需要如此频繁的请求,如果是,建议到Linux系统下开展测试以规避此问题。