【问题标题】:Timeout of JMS Point-to-point requests in JMeter does not result in an errorJMeter中JMS点对点请求超时不报错
【发布时间】:2015-02-19 15:13:34
【问题描述】:

我们使用 Apache JMeter 2.12 来测量 JMS 队列的响应时间。但是,我们想看看有多少请求花费的时间少于特定时间。根据 JMeter 的官方网站(http://jmeter.apache.org/usermanual/component_reference.html),这应该由 Timeout 属性设置。您可以在下面的照片中看到我们的配置如何:

但是,设置超时不会在发送 100 个请求后导致错误。我们可以看到其中一些显然花费了更多的时间:

我是否缺少其他一些设置,或者有没有办法实现我的目标?

谢谢!

【问题讨论】:

    标签: jmeter


    【解决方案1】:

    JMS Point-to-Point 的 JMeter 文档将超时描述为

    回复消息的超时时间(以毫秒为单位)。如果在指定时间内没有收到回复,则特定测试用例失败,超时后收到的特定回复消息将被丢弃。默认值为 2000 毫秒。

    这不是实际发送消息的时间,而是接收响应的时间。

    JMeter 点对点的source 将确定您是否配置了“接收队列”。如果你这样做,它将通过执行器路径并使用超时值,否则它不使用时间超时值。

                if (useTemporyQueue()) {
                    executor = new TemporaryQueueExecutor(session, sendQueue);
                } else {
                    producer = session.createSender(sendQueue);
                    executor = new FixedQueueExecutor(producer, getTimeoutAsInt(), isUseReqMsgIdAsCorrelId());
                }
    

    在您的屏幕截图中,未定义 JNDI 名称接收队列,因此它使用临时队列,并且不使用超时。在这种情况下是否应该支持超时,最好在 JMeter 论坛中讨论。

    或者,如果您想查看以百分位数/桶表示的请求时间,请阅读此堆栈溢出 Q/A - I want to find out the percentage of HTTPS requests that take less than a second in JMeter

    【讨论】:

    • 谢谢!正是我需要的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-10
    • 2018-06-30
    • 2019-01-20
    • 2014-07-03
    • 1970-01-01
    • 1970-01-01
    • 2018-08-06
    相关资源
    最近更新 更多