【问题标题】:TCP Sampler doesn't closes the connetionTCP Sampler 不关闭连接
【发布时间】:2021-09-13 04:00:00
【问题描述】:

我正在使用 TCP 采样器发送文本类型的消息。问题是,我得到了我想要的响应,但 JMeter 的测试运行并没有在得到响应后自行停止。每次我必须点击 STOP 按钮,然后我得到一个 500 错误的响应,说“服务器无法从服务器读取”。

我尝试了以下方法:

  1. 选中“关闭连接复选框”。
  2. 在 JMeter GUI 和 JMeter 属性中将行尾字节值设置为 10、13 和 1200、1300(尽管我不确定这是如何工作的)。
  3. 在我的 TCP 请求消息末尾添加 \0 和 \r\n。

以上都不起作用。如果有人对此友好指南有更好的解决方案。我见过一些解决方案说“使用 JSR223 采样器发送请求”,但我不知道它的代码也尝试编写代码但失败了。请问有人吗?

【问题讨论】:

    标签: tcp jmeter performance-testing jsr223


    【解决方案1】:

    我们不知道你的服务器实现,JMeter 会尝试读取直到连接和输入流打开,它希望服务器在收到响应后关闭连接。

    您需要自己实现AbstractTCPClient 并通过“TCPClient 类名”进行设置

    或者只是指定一个合理的响应超时时间:

    JMeter 会将采样器标记为由于读取超时而失败,但是您应该能够通过添加 Response Assertion 配置来抑制此错误:

    可以类似地添加另一个通过/失败标准

    【讨论】:

    • 所以我的理解是服务器端设置的配置方式是服务器在发送响应后不会关闭连接?正确的?实际上,给这个采样器的性能测试提供一个预定义的超时不是一个好的做法,因为发送请求的实际响应时间是我需要计算的,以便给出这个消息的分析报告。跨度>
    猜你喜欢
    • 2016-10-08
    • 2013-09-04
    • 1970-01-01
    • 2021-05-11
    • 2012-04-12
    • 1970-01-01
    • 2018-06-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多