【问题标题】:Jmeter 5.3 - Socket Closed Issue with Blazemeter Parallel Controller (0.9)Jmeter 5.3 - Blazemeter 并行控制器 (0.9) 的套接字关闭问题
【发布时间】:2020-08-09 07:38:24
【问题描述】:

在使用 Jmeter 5.3 版本在并行控制器中使用多个 https 请求测试 Blazemeter 并行控制器 (0.9) 时,我们遇到以下异常 -

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 sun.security.ssl.InputRecord.readFully(InputRecord.java:465)
....

我发现它只传递给并行控制器中的一个 http 采样器。我修改了各种参数,如 ssl 套接字协议,或 5.3 中的连接超时,但无济于事。

我们在 JMeter 5.2.1 或更低版本上尝试了相同的脚本,它没有任何更改/问题。此外,如果我在 JMeter 5.3 中将并行控制器更改为事务控制器,它开始工作没有问题 - 排除任何脚本问题。

JMeter 与 BZM 并行控制器的较新版本似乎存在一些问题 (0.9) 或者我可能会错过任何要在 JMeter 5.3 上完成的新设置来完成这项工作。

到目前为止,我们在 5.2.1 上运行以避免上述情况异常,但现在看来,我们需要迁移到 JMeter 5.3 作为我们的组织软件升级的一部分,并且需要获得相同的解决方法。

如果您遇到此问题并找到任何解决方法,您能帮忙吗?

【问题讨论】:

    标签: jmeter jmeter-plugins


    【解决方案1】:

    我在使用 bzm 时遇到了同样的问题 - 我想在一个线程组中执行 1 次登录、并行执行发送和接收消息以及 1 次注销。一切正常,除了一个并行线程上的套接字关闭异常,每当另一个并行线程结束其工作时。

    我最终移除了并行控制器。

    我转而使用设置和拆卸线程组的组合来登录和注销,并通过使用 beanshell 断言进行 JMeter 属性初始化来解决跨线程组变量共享问题(关于如何做到这一点的好文章这里:https://medium.com/@priyank.it/jmeter-passing-variables-between-threads-a4dc09903b59)。

    这适用于我的用例,但可能不适用于您的用例。

    【讨论】:

    • 谢谢,但我的场景有点复杂,不像你的那么简单。我们在同一个线程组中有多个控制器,用于根据业务流程进行各种事务,所以不能跳过一些事情。
    • 这也不适用于 jMeter 5.4。错误已更改为“javax.net.ssl.SSLException:无法启动握手”。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-15
    • 2011-04-07
    • 1970-01-01
    • 2018-10-11
    相关资源
    最近更新 更多