JMeter压测“java.net.SocketException: Socket closed”解决方法
2024-10-18 00:08:53
报错详情:
java.net.SocketException: Socket closed
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
at java.net.SocketInputStream.read(SocketInputStream.java:171)
at java.net.SocketInputStream.read(SocketInputStream.java:141)
at org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:161)
at org.apache.http.impl.io.SocketInputBuffer.fillBuffer(SocketInputBuffer.java:82)
at org.apache.http.impl.io.AbstractSessionInputBuffer.readLine(AbstractSessionInputBuffer.java:278)
at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:138)
at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:56)
at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:259)
at org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:286)
at org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:257)
at org.apache.jmeter.protocol.http.sampler.hc.ManagedClientConnectionImpl.receiveResponseHeader(ManagedClientConnectionImpl.java:199)
at org.apache.jmeter.protocol.http.sampler.MeasuringConnectionManager$MeasuredConnection.receiveResponseHeader(MeasuringConnectionManager.java:212)
at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:273)
at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125)
at org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:684)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:486)
at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:835)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.executeRequest(HTTPHC4Impl.java:697)
at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:455)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:74)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1189)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1178)
at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:490)
at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:416)
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:250)
at java.lang.Thread.run(Thread.java:748)
引起 java.net.SocketException: Socket closed 错误的原因通常是 未设置连接的超时时间。
解决方法:
该问题可以尝试通过以下方法解决。
如果在 HTTP Request Sampler 的 Basic 里勾选了 Use KeepAlive,那么建议在 Advanced 页签下:
1、Implementation 选为 HttpClient4
2、Timeouts 中的 Connect 设置一个10~60秒的值,表示连接的空闲超时时间,避免由于没收到被压测端的响应回来的 Keep-Alive 的 Header 导致的连接断开
参考:
https://help.aliyun.com/knowledge_detail/112842.html
最新文章
- ORA-27092: size of file exceeds file size limit of the process
- Android 数据通信
- jQuery数据类型总结
- Java面试之SE基础基本数据类型
- JS创建类和对象
- bzoj4038: 医疗援助
- Calculation(dfs+状压dp)
- 201521123118《java程序与设计》第6周学习总结
- java基础学习总结——java读取properties文件总结
- 复习HTML+CSS(3)
- IDEA 常用配置
- mysql 游标嵌套
- C++中的memset、zeroMemory和={0}操作( 转)
- MVC的WebViewPage
- 梦殇 chapter three
- Oracle 用脚本安装第二个数据库
- oracle中listagg()和wmsys.wm_concat()基本用法
- Mysql5.7初始化成空密码或随机密码的方式
- 【MySql 】is not allowed to connect to this MySql server 无法访问远程MySQL数据库
- JS使用及技巧.
热门文章
- Java并发之synchronized关键字深度解析(三)
- maven的下载、安装及配置
- 关于独显A卡利用率一直是0不运行的问题
- mitmproxy 使用笔记
- Prometheus学习系列(二)之Prometheus FIRST STEPS
- 三大框架知识点比较(Angular, Vue, React)
- [转]为何选择 Flink
- [转]UiPath State Machines
- arcgis api for javascript 学习(七) 调用发布地图信息,并将地图属性信息输出到Excel表格---进阶版
- Android utils 之 日志工具类