JMeter压力测试时报异常:address already in use
执行JMeter时,当并发线程数较高时(尤其是测试机器还存在连接其他服务器的socket),运行一会就会产生address already in use的异常,这是因为Windows中TCP客户端和服务器连接时,客户端必须分配一个动态端口,默认情况下这个动态端口的分配范围为 1024-5000 ,也就是说默认情况下,客户端最多可以同时发起3977 个Socket 连接,如果线程数过多,客户端的地址就会不够用,就会引发该异常。
解决办法(在jmeter所在电脑操作):
1.cmd中输入regedit命令打开注册表;
2.在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
右键Parameters;
3.添加一个新的DWORD,名字为MaxUserPort;
4.然后双击MaxUserPort,输入数值数据为65534,基数选择十进制;
6.同样的新建一个TcpTimedWaitDelay,输入数据30(可以选填30-300),基数选择十进制;
7.完成以上操作,重启电脑即可解决问题。
JMeter并发测试遇到Socket closed错误解决方案
1、查看服务器端电脑的默认限制数配置: