如何使用JMeter向Tibco EMS队列发送1000-3000随机数量的JMS消息
JMeter向Tibco EMS队列发送随机数量消息方案说明
${__Random(1000,3000,)}配置可行性
该写法可正常生效。目前主流版本JMeter的数值配置字段默认支持内置函数动态解析,你将待聚合样本数设置为该随机函数后,每次迭代都会自动生成1000~3000区间内的均匀随机整数,作为本次迭代的消息发送量。
注意:该随机数会按线程、按迭代独立生成,若你的测试场景要求整次迭代所有线程的总发送量落在1000~3000区间,该方案不适用,需提前在单线程中生成全局随机值再分发使用。
其他替代实现方案
- 预定义变量复用随机值
在测试计划或对应线程组下新增「用户自定义变量」元件,定义变量msg_batch_size,值填写${__Random(1000,3000,)},后续在待聚合样本数字段直接引用${msg_batch_size}即可。该方案的优势是如果后续其他逻辑需要用到本次的随机发送量,可直接复用变量,无需重复编写随机函数。 - 循环控制器实现批量发送
如果你使用的Tibco EMS插件版本不支持待聚合样本数的动态解析,可以选择该方案:首先通过__Random函数或JSR223前置处理器生成随机发送量并存入变量,再将Tibco EMS消息发送采样器放到循环控制器下,将循环次数设置为提前生成的随机变量即可,该方案兼容性更强,不受插件配置字段的能力限制。 - JSR223自定义发送逻辑
如果你有定制化需求(比如随机数需符合正态分布、不同消息内容需要定制等),可以直接编写Groovy脚本,在JSR223采样器中调用Tibco EMS原生发送API,自行控制循环发送的次数,灵活度最高,适配复杂测试场景。
内容的提问来源于stack exchange,提问作者user16923013
相关产品推荐
相关产品推荐

