背景
在实际使用jmeter进行性能测试的时候,当模拟的线程数设置的很多,而启动延时(Startup delay)又设置的很低甚至不设置的时候。 测试的时候会发现,突然间产生大量error,查看详细情况会看到报错信息,开头是:java.net.BindException: Address already in use: connect
原因
这是由于Windows默认提供的端口为1024-5000,并且Windows需要用4分钟来回收这些端口。
短时间内发起大量请求很快会将端口占满,所以需要修改端口数量。
解决方法
1.cmd中,用regedit命令打开注册表
2.在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
下
- 右击parameters,添加一个新的DWORD,名字为MaxUserPort
- 然后双击MaxUserPort,输入数值数据为65534,基数选择十进制
3.修改配置完毕之后,重启机器生效