JMeter分布式压测搭建与简单实践总结
端口占满导致连接失败问题
windows提供给TCP/IP
链接的端口为 1024-5000
,并且要四分钟来循环回收它们,就导致我们在短时间内跑大量的请求时将端口占满了,从而造成并发数量的瓶颈
-
解决办法
1.cmd中输入regedit命令打开注册表; 2.在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters右键Parameters; 3.添加一个新的DWORD,名字为MaxUserPort; 4.然后双击MaxUserPort,输入数值数据为65534,基数选择十进制; 5.添加添加一个新的DWORD ,名字为TcpTimedWaitDelay,数值为30 基数选择十进制 6.完成以上操作,务必重启机器,问题解决。
MaxUserPort的值表示当应用程序向系统请求可用的端口时,TCP/IP可分配的最大端口号。如果系统显示建立连接时出现异常,那么有可能是由于匿名(临时)端口数不够导致的,特别是当系统打开大量端口来与Web service、数据库或其他远程资源建立连接时,默认是5000端口
TcpTimedWaitDelay的值表示系统释放已关闭的TCP连接并复用其资源之前,必须等待的时间。这段时间间隔就是以前的Blog中提到的TIME_WAIT状态(2MSL,数据包最长生命周期的两倍状态)。如果系统显示大量连接处于TIME_WAIT状态,则会导致并发量与吞吐量的严重下降,通过减小该项的值,系统可以更快地释放已关闭的连接,从而为新连接提供更多的资源,特别是对于高并发短连接的Server具有积极的意义。默认是240,即4分钟,系统支持最小是30秒