近期因为疫情的原因,公司做了一个抢口罩的页面。需要对页面及接口做压力测试,遂遇到标题的问题。
原因:windows提供给TCP/IP链接的端口为 1024-5000,并且要四分钟来循环回收它们,就导致我们在短时间内跑大量的请求时将端口占满了,导致如上报错。
解决办法(在jmeter所在服务器操作):
1.cmd中输入regedit命令打开注册表;
2.在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters右键Parameters;
3.添加一个新的DWORD,名字为MaxUserPort;
4.然后双击MaxUserPort,输入数值数据为65534,基数选择十进制;
5.完成以上操作,务必重启机器。
通过上述方式后,重新执行一次脚本。问题得到较好的解决,但是当循环次数和并发量上去之后,依旧存在该情况,遂找公司大神询问后,添加如下配置:
TcpNumConnections = 16777214
MaxHashTableSize = 65536
MaxFreeTcbs = 16000
TcpTim