【问题标题】:how to manage a request if an http response is not needed in jmeter?如果 jmeter 中不需要 http 响应,如何管理请求?
【发布时间】:2021-08-31 07:33:15
【问题描述】:

我已就此提出了一些问题,但尚未解决。我意识到一个新的重要问题。 我使用浏览器和wirehark 监听网络,发现如果发送信号器/连接请求,服务器不会返回http 响应。它发送一些 tcp 响应,然后客户端发送信号器/启动。

此示例取自浏览器测试:

在Jmeter中,发送signalr/connect请求后,jmeter等待一个http响应。并且服务器自然不会发送此响应。我想发送信号器/连接请求,但不等待 http 响应。如何做到这一点?

【问题讨论】:

    标签: jmeter signalr


    【解决方案1】:

    如果您想使用 HTTP Request 采样器 - 只需添加一些小的响应超时(即低于 1000 毫秒),该设置位于“高级”选项卡中:

    采样器将发送请求并在 100 毫秒内失败,java.net.SocketTimeoutException:Read timed out

    如果您不希望这个失败作为失败出现在测试结果中-添加一个Response Assertion,配置如下:

    这样 JMeter 将发送响应,在 100 毫秒内断开连接并将采样器标记为通过。

    【讨论】:

    • 没有解决问题。如果我添加断言响应和超时,jmeter 会发送一个 RST TCP 消息并且通信将停止。我应该从中找到另一个解决方案。 jmeter 应该发送信号器/连接请求,并且不应该等待“http 响应”。 jmeter 能做到这一点吗?
    • 只要您正确配置,JMeter 就能完成所有工作。您是否尝试熟悉how to ask 文章,尤其是帮助他人重现问题一章?显示 HTTP 请求的屏幕截图并不能说明全部内容,我希望看到正文、标头、“跟随 HTTP/TCP 流”对话框的输出等。我给了你百万中最直接的选项,其他的是使用另一个线程组或send the request in Groovy等。
    • 共享整个通讯将是非常大的数据。与客户端和服务器。我试图用不同的变化问同样的问题,但还没有解决。最后一个问题还不清楚吗? jmeter 向服务器发送的请求有十个,其中四个与 signalr 相关。第一个请求 (negotiate) 以 http 和 tcp 协议响应。第二个请求(连接)仅由 tcp 协议响应。 jmeter 等待一个 http 响应。由于收到任何 http 响应,jmeter 发送一个 rst tcp 消息以关闭信号器通信。这是我的主要问题。
    • 我想继续,就像正确接收到 http 响应(对 http 请求)一样。 jmeter 提供这个吗?
    猜你喜欢
    • 2014-07-24
    • 1970-01-01
    • 2018-09-20
    • 2013-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-04
    相关资源
    最近更新 更多