用jmeter进行性能测试报错--windows

1.报错信息:

java.net.ConnectException: Connection refused: connect
	at java.net.DualStackPlainSocketImpl.connect0(Native Method) ~[?:1.8.0_91]
	at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79) ~[?:1.8.0_91]
	at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) ~[?:1.8.0_91]
	at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) ~[?:1.8.0_91]
	at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) ~[?:1.8.0_91]
	at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172) ~[?:1.8.0_91]
	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[?:1.8.0_91]
	at java.net.Socket.connect(Socket.java:589) ~[?:1.8.0_91]
	at java.net.Socket.connect(Socket.java:538) ~[?:1.8.0_91]
	at kg.apc.perfmon.client.TransportFactory.TCPInstance(TransportFactory.java:91) ~[perfmon-2.2.2.jar:?]
	at kg.apc.jmeter.perfmon.PerfMonCollector.getConnector(PerfMonCollector.java:243) ~[jmeter-plugins-perfmon-2.1.jar:?]
	at kg.apc.jmeter.perfmon.PerfMonCollector.initiateConnector(PerfMonCollector.java:228) [jmeter-plugins-perfmon-2.1.jar:?]
	at kg.apc.jmeter.perfmon.PerfMonCollector.initiateConnectors(PerfMonCollector.java:175) [jmeter-plugins-perfmon-2.1.jar:?]
	at kg.apc.jmeter.perfmon.PerfMonCollector.testStarted(PerfMonCollector.java:126) [jmeter-plugins-perfmon-2.1.jar:?]
	at org.apache.jmeter.reporters.ResultCollector.testStarted(ResultCollector.java:351) [ApacheJMeter_core.jar:5.2.1]
	at kg.apc.jmeter.vizualizers.CorrectedResultCollector.testStarted(CorrectedResultCollector.java:28) [jmeter-plugins-cmn-jmeter-0.4.jar:?]
	at org.apache.jmeter.engine.StandardJMeterEngine.notifyTestListenersOfStart(StandardJMeterEngine.java:206) [ApacheJMeter_core.jar:5.2.1]
	at org.apache.jmeter.engine.StandardJMeterEngine.run(StandardJMeterEngine.java:381) [ApacheJMeter_core.jar:5.2.1]
	at java.lang.Thread.run(Thread.java:745) [?:1.8.0_91]

2.错误原因:

短时间内new socket操作很多,而socket.close()操作并不能立即释放绑定的端口,而是把端口设置为TIMEWAIT 状态,过段时间(默认240s)才释放,(用netstat -na可以看到),最后系统资源耗尽(windows上是耗尽了pool of ephemeral ports ,这段区间在1024-5000之间)

3.解决办法:

在运行JMeter agent的机器上,添加注册表条目HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
MaxUserPort 65334
TcpTimedWaitDelay 30
添加值的方法:运行->regedit打开注册表,找到注册表条目,右键->新建,选择DWORD(32位)值(D),添加成功后,选中值右键->修改,数值数据,分别填上想应的值,基数选择十进制
,点击确定就好了

4.参考连接:

https://www.cnblogs.com/jane4321/p/11013042.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值