栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

关于JMeter之java.net.SocketException: Permission denied: connect解决办法

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

关于JMeter之java.net.SocketException: Permission denied: connect解决办法

关于JMeter之java.net.SocketException: Permission denied: connect解决办法 遇到的问题

上来先说环境,我用的电脑是win10(Java版本1.8)

使用的时候,一直在报错,我找遍了各种方法,一直再报这个错误代码,如下:

java.net.SocketException: Permission denied: connect
	at java.net.TwoStacksPlainSocketImpl.socketConnect(Native Method)
	at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
	at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
	at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
	at java.net.PlainSocketImpl.connect(Unknown Source)
	at java.net.SocksSocketImpl.connect(Unknown Source)
	at java.net.Socket.connect(Unknown Source)
	at org.apache.http.conn.socket.PlainConnectionSocketFactory.connectSocket(PlainConnectionSocketFactory.java:75)
	at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:142)
	at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl$JMeterDefaultHttpClientConnectionOperator.connect(HTTPHC4Impl.java:404)
	at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:376)
	at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:393)
	at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)
	at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186)
	at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
	at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
	at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
	at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
	at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.executeRequest(HTTPHC4Impl.java:935)
	at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:646)
	at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:66)
	at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1296)
	at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1285)
	at org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:638)
	at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:558)
	at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:489)
	at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:256)
	at java.lang.Thread.run(Unknown Source)

具体体现在这里
1、如果对本地localhost使用,这里我使用的tomcat本地服务器,http://localhost:8080时候,使用jmeter就不会出现问题,就可以测试,但是只要连接外部网络的时候就会有以上的报错,
如下体现:(我试图测试一下百度get)


这里我循环了5次,每次都是报错的情况,其他的也尝试也不行


我这两天一直找了很多解决方法,兴许对您有用:
一、

后来使用直接全局配置进行更改

转自:https://www.cnblogs.com/fengpingfan/p/5079754.html
注:但是这个方法我尝试了,进行改变失效了

二、
看看别的错误代码是否有效果
解决
Socket closed

Non HTTP response code: org.apache.http.NoHttpResponseException (the target server failed to respond)

资料查询:https://wiki.apache.org/jmeter/JMeterSocketClosed

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

转自地址


解决方法

还有一些细枝末节的操作,我也找了很多,没有解决问题,突然间看到一位兄弟说同样的环境下(win10,Java8)也出现这个问题,但是他在Linux环境下没有问题,我就去Linux环境下安装了一下jmeter就可以使用
所以我怀疑解决这个问题从两个方面入手:

  1. 换一下操作系统的环境,我使用就是这个方式解决问题(环境Ubuntu20.04, Java11)
  2. 我怀疑也许是Java版本的问题,可以尝试win0+Java11方法入手(这个我没尝试,之后有时间我可以补测试一下)

以下为Linux上可以成功运行。


附:Linux安装jmeter(Ubuntu20.04)

首先分为两部分

  1. 查询和Java是否安装成功
  2. 安装jmeter

首先查询Java是否安装成功

Java -version
//查看Java的版本


这里采用自动安装

sudo apt install openjdk-8-jdk
或者
sudo apt install openjdk-8-jre-headless # 这个是apt给我推荐的,貌似这个安装的依赖少

Ubuntu安装 Javahttps://www.cnblogs.com/ziyue7575/p/13898610.html

之后就是去jmeter官网下载安装包,进行tgz解压
然后进行环境配置
参考:https://blog.csdn.net/gufenchen/article/details/106126324


小结

调试这个问题耗费的好多时间,但是最终还是在虚拟机Linux环境下可以使用了,也算解决这个问题了,之后还会有问题在前面,我会继续和大家一起分享的。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/910985.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号