• 0
  • 0
分享

问题描述

JMeter 压测时会报 java.net.SocketException: Socket closed

java.net.SocketException: Socket closedat java.net.PlainSocketImpl.socketConnect(Native Method)at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)at java.net.Socket.connect(Socket.java:589)at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:668)at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:542)at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:414)at org.apache.jmeter.protocol.http.sampler.LazySchemeSocketFactory.connectSocket(LazySchemeSocketFactory.java:97)at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:180)at org.apache.jmeter.protocol.http.sampler.hc.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:318)at org.apache.jmeter.protocol.http.sampler.MeasuringConnectionManager$MeasuredConnection.open(MeasuringConnectionManager.java:114)at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:610)at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:445)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:695)at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:454)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:498)at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:424)at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:255)at java.lang.Thread.run(Thread.java:766)

可能原因


引起 java.net.SocketException: Socket closed 错误的原因通常是未设置连接的超时时间。


解决方案


如果在 “HTTP Request Sampler” 的 Basic 里选中了 “Use KeepAlive”

测试111.PNG


则需要在 Advanced 页签下设置如下参数:


  • 选择 Implementation 为 HttpClient4。

  • Connect 设置一个连接空闲超时时间,避免由于没收到被压测端返回的 Keep-Alive 的Header 而导致连接断开。

  • 测试222.PNG



  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 小程序测试过程中,不知道大家有没有碰到一个问题,打开了很多页面之后,小程序操作突然卡卡住,就没有任何反应了。在之前项目的小程序测试过程中很多次都碰到了这种情况,开发的解释从来都是说,被微信限制了。但是自己总觉得需要想办法去解决,所以还是决定自行去学习分析下这种情况。在小程序中,打开一个新的页面其实就是创建了一个新的View对象,一层层叠加的。当点击页面的回退按钮就是把当前页面关闭。小程序页面栈的上限是10个,这个过程中就很有可能会碰到这样一个问题,就是我最一开始说的打开页面的数量过多,达到10个页面后,就不能再打开新的页面。在某些产品功能要求下,比如一个学员正在学习一个课程,在课程详情页底部一...
            1 0 8122
            分享
          •    参与《2022软件测试行业现状调查报告》读后感征文活动,领测试微课好礼。    51Testing软件测试网发布的“软件测试现状调查报告”清晰的展示了我国软件测试行业现状。报告涵盖行业领域、人员信息、工作内容、技术工具等方面,全面、直观的展示了当前的行业现状和发展趋势,是软件从业人员不可或缺的学习资料。通过阅读报告,初步有三点感悟在这里于大家分享、讨论。一、关于就业方向:选对了客户,就找对了方向    软件测试是一个服务行业,服务行业最重要的是什么?客户,客户,还是客户!选择了对的客户,就选择了正确从业的方向,因为客户决定了测试...
            1 1 3215
            分享
          • 导读在自动化测试实践中,测试数据是制造测试场景的必要条件,本文主要讲述了在沟通自动化框架如何分层,数据如何存储,以及基于单元测试 pytest 下如何执行。并通过实践案例分享,提供数据驱动测试的具体落地方案。基本概念数据驱动测试(DDT)是一种方法,其中在数据源的帮助下重复执行相同顺序的测试步骤,以便在验证步骤进行时驱动那些步骤的输入值和 / 或期望值。在数据驱动测试的情况下,环境设置和控制不是硬编码的。换句话说,数据驱动的测试是在框架中构建要与所有相关数据集一起执行的测试脚本,该脚本利用了可重用的测试逻辑。数据驱动的测试提供了可重复性,将测试逻辑与测试数据分离以及减少测试用例数量等优势。设计...
            0 0 884
            分享
          •   科技在发展,技术在进步,业务的需求变得更加灵活多变,带来的就是安全性的不稳定。这对我们测试人来说无疑是个挑战。针对不同的测试场景,通用型工具就显得捉襟见肘,今天小编就为大家分享一个本人一直在用的针对接口测试的工具----Postman。  01、什么是Postman  辛苦的测试人在渗透网络程序或者是网页B/S模式的程序的时候是需要一些方法来跟踪网页请求的,可以使用一些网络的监视工具比如著名的Firebug等网页调试工具。但是这款以简单快捷著称的网页调试工具不仅可以调试简单的css、html、脚本等简单的网页基本信息,它还可以发送几乎所有类型的HTTP请求!  Postman是一个商业化的...
            15 14 1160
            分享
      • 51testing软件测试圈微信