jmeter压测小白常见问题解决

1、执行压测的时候报:java.net.BindException: Address already in use: connect

原因: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.完成以上操作,务必重启机器,问题解决。

参考链接:https://blog.csdn.net/zhangxiaohui4445/article/details/100162317

 

2、jmeter接口测试报java.net.SocketException: Socket closed错误。

查询原因,看到有人说:该异常在客户端和服务器均可能发生。

异常的原因是己方主动关闭了连接后(调用了Socket的close方法)再对网络连接进行读写操作。

问题原因:在JMeter下,发送http 请求时,一般都是默认选择了use keepAlive(这个是什么?看后面资料),这个是连接协议,JMeter坑就在这里,默认勾选了这个(如果不勾选的话,也不会保存),但其配置JMeter.properties中的时间设置默认却是注销的,也是是说,不会等待,一旦连接空闲,则立马断开了,导致我们压测中出现了事务失败的情形

解决方法:选择HTTP接口,进入高级设置实现方式为HttpClient4,时间10秒(这的单位是毫秒),设置好就好了。

参考:https://blog.csdn.net/weixin_33937913/article/details/86361549

https://wiki.apache.org/jmeter/JMeterSocketClosed

 

 

 

posted @ 2020-08-19 15:10  博琴雅心  阅读(689)  评论(0编辑  收藏  举报