我们使用Apache JMeter 2.12来测量JMS队列的响应时间。但是,我们希望看到有多少请求花费的时间少于一定时间。根据JMeter的官方网站(http://jmeter.apache.org/usermanual/component_reference.html),这应该由Timeout属性设置。您可以在下面的照片中看到我们的配置如何:
但是,设置超时不会在发送100个请求后导致错误。我们可以看到其中一些花费的时间显然超过了该时间:
我还缺少其他设置吗?或者有什么方法可以实现我的目标?
谢谢!
The JMeter documentation for JMS Point-to-Point describes the timeout as
The timeout in milliseconds for the reply-messages. If a reply has not been received within the specified time, the specific testcase failes and the specific reply message received after the timeout is discarded. Default value is 2000 ms.
This is timing not the actual sending the message but receipt of a response.
The source for the JMeter Point to Point will determine if you have a 'Receive Queue' Configured. If you do it will go through the executor path and use the timeout value, otherwise it does not use time timeout value.
if (useTemporyQueue()) {
executor = new TemporaryQueueExecutor(session, sendQueue);
} else {
producer = session.createSender(sendQueue);
executor = new FixedQueueExecutor(producer, getTimeoutAsInt(), isUseReqMsgIdAsCorrelId());
}
在屏幕快照中,未定义JNDI名称Receive Queue,因此它使用临时队列,并且不使用超时。在这种情况下是否应该支持超时,最好在JMeter论坛中讨论。
或者,如果您希望以百分位/桶的形式查看请求时间,请阅读此堆栈溢出问答:我想找出在JMeter中花费不到一秒的HTTPS请求的百分比
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句