【问题标题】:Jmeter throws "socketexception: connection reset" error during executionJmeter在执行过程中抛出“socketexception:connection reset”错误
【发布时间】:2020-09-07 09:40:26
【问题描述】:

我们要实现的目标是 500 个并发用户。 我们已经尝试在 3 台机器上运行 100 个用户的测试。它运行良好,没有任何错误。 当我尝试使用相同数量的机器为 150 个或更多用户运行测试时,我开始收到以下响应代码

响应码:非 Http 响应码:java.net.socketException 响应消息:连接重置

我也尝试将机器数量增加到 8 台机器。仍然没有帮助。一些请求的响应时间也非常长(156 秒)。

当我们检查服务器日志以找出可能导致此问题的原因时,在执行期间未找到错误日志

我很难找出可能是什么问题。服务器端正在排除他们是否可能存在问题。

从 Jmeter 方面尝试了以下修复:

  1. 增加堆大小
  2. 在 user.properties 文件中更改重试次数
  3. 在 hc.parameters 文件中更改 Boolean=True
  4. 使用 HTTP Request Defaulters 将实现更改为 HTTPClient4

CPU 配置: Intel (R) Xeon(R) CPU E5-2690 v3 @ 2.60 GHz(2 个处理器) 5 GB 内存 64位操作系统

【问题讨论】:

  • 您是否尝试从某个云运​​行您的脚本?即 Blazemeter 。这应该会让您对正在发生的事情有更多的了解。

标签: performance jmeter performance-testing jmeter-plugins jmeter-5.0


【解决方案1】:

Connection Reset 错误表示尝试写入已关闭的套接字失败,在 TCP 协议级别上表示接收到 TCP RST

这可能是 JMeter 过早关闭连接的情况,因为 JMeter 5.0 将 httpclient4.time_to_live 属性设置为 2000 并且如果您看到响应时间 > 2 秒(并且确实如此),很可能 JMeter 正在关闭连接在获得完整回复之前。

您可以尝试将此设置增加到 60000 匹配现代浏览器的默认设置甚至更多以匹配您的应用程序响应时间(如果您认为 3 分钟是可以接受的)或考虑升级到具有更好默认值的 JMeter 5.3

更多信息:Bug 64289

【讨论】:

  • 嗨 dmitri,我目前使用的是 Jmeter 5.3,默认值已经是 60000。错误仍然存​​在。是否有替代解决方案?
猜你喜欢
  • 1970-01-01
  • 2020-12-20
  • 1970-01-01
  • 2014-11-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多