【问题标题】:Jmeter - Asnc requestJmeter - Asnc 请求
【发布时间】:2021-03-21 21:56:40
【问题描述】:

如何模拟来自 JMeter 的异步请求。

从 Jmeter 发送请求 --> 发送到服务器 --> 服务器给予确认

现在我如何打开一个端口或 URL,一旦他完成了他的内部循环/流程,服务器可以在其中给我一个响应。以及如何阅读回复。

【问题讨论】:

    标签: http asynchronous tcp jmeter


    【解决方案1】:

    您可以使用JSR223 Sampler 并使用ServerSocket 在Groovy 中编写一个简单的TCP 服务器,它将监听传入的数据并执行您需要执行的任何操作。

    将收到的消息打印到jmeter.log file的参考实现:

    def socketServer = new ServerSocket(1234)
    
    while (true) {
        socketServer.accept { socket ->
            socket.withStreams { input, output ->
                log.info("Received message: ${input.newReader().readLine()}")
            }
        }
    }
    

    这就是它在行动中的样子:

    正如你所看到的,当我使用HTTP Raw Request 采样器发送hello 消息时,它会打印到 JMeter 日志文件中,同样你可以捕获服务器的回调,只需确保服务器可以到达运行 JMeter 的机器,即它有static IP address,传入您选择的端口的流量不会被firewall等阻止。

    【讨论】:

    • 为什么 JMeter 在 JSR223 中获得响应后不会停止,以及如何使用包含 1000 个请求的主 HTTP 请求运行此脚本?
    • 因为while(true) 是一个无限循环,您需要以某种方式退出它,例如通过关闭套接字。关于 1000 个请求 - 我没有足够的心灵感应来猜测您的要求是什么以及您如何区分这 1000 个线程中的每一个
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-19
    • 2020-02-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多