You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JMeter中用JMS Point-to-Point Sampler连接IBM MQ实现队列收发测试

前置依赖确认

首先将IBM MQ官方提供的JMS客户端依赖包(com.ibm.mq.allclient.jar、javax.jms-api.jar)放入JMeter安装目录的lib/ext路径下,重启JMeter生效。

基础疑问解答

  1. JMS Point-to-Point Sampler是基于标准JMS API实现的,并非仅兼容ActiveMQ,只要提供对应MQ厂商的JMS客户端驱动,完全支持IBM MQ。
  2. 你描述的请求-响应队列关联测试场景可以通过该采样器实现,无需额外编写自定义代码。

1a 连接两个队列的配置方法

打开JMS Point-to-Point Sampler,按以下配置映射你提供的连接参数:

JMS Resources区域配置

  • QueueConnection Factory:填com.ibm.mq.jms.MQQueueConnectionFactory
  • JNDI name Request queue:填DEV.QUEUE.1
  • JNDI name Receive queue:填DEV.QUEUE.2
  • Username:填mquser
  • Password:填secretpassword
  • Number of samples to aggregate:填1即可,单发单收场景不需要批量聚合采样

JNDI Settings区域配置

初始上下文工厂填com.sun.jndi.fscontext.RefFSContextFactory,下方JNDI属性添加以下键值对:

键值对应代码中的参数
mq.hostName127.0.0.1hostName
mq.port1414hostPort
mq.channelDEV.APP.SVRCONNchannelName
mq.queueManagerQM1queueManagerName
mq.transportType1对应WMQ_CM_CLIENT客户端连接模式

2a 目标测试场景的实现步骤

  1. 采样器的Communication style选项选择Request Response模式
  2. 超时时间Timeout (ms)字段填入你需要的X秒对应的毫秒值,比如要等待10秒就填10000
  3. 消息关联配置:在Message Properties区域添加自定义属性,键为businessId,值为你指定的ID1,如果需要动态生成唯一ID可以用JMeter函数${__UUID()}
  4. JMS Selector字段配置:和被测系统约定关联规则即可,通常被测系统会将请求消息的自定义属性写入响应消息的对应字段:
    • 如果约定用businessId关联,填businessId='ID1'
    • 如果约定用标准JMSCorrelationID关联请求的消息ID,填JMSCorrelationID='${__jmsMessageId()}'
  5. 添加断言:添加JMS响应断言,判断返回的消息内容不为空,或者符合业务预期规则
  6. 添加Aggregate Report监听器,运行测试后即可查看所有请求的响应时间、成功率、吞吐量等指标。

内容的提问来源于stack exchange,提问作者JustNatural

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 02:57:00