jmeter性能压测-需要将消息先发送到mq,再由其他服务消费mq中的消息场景

需要将消息先发送到mq,再由其他服务消费mq中的消息场景,一般用于异步处理

压测方法:jmeter发送消息到mq,对应服务消费mq中的消息

前期准备:

1.通过jmeter将消息发送至mq需要将下载的apache-activemq-5.5.0根目录下的activemq-all-5.5.0.jar拷贝到\apache-jmeter-3.0\lib下即可(jmeter的lib目录下)

2.在\apache-jmeter-3.0\bin目录下的ApacheJMeter.jar里增加jndi.properties文件,里面队列名和主题名,模板如下:

 

java.naming.factory.initial = org.apache.activemq.jndi.ActiveMQInitialContextFactory
java.naming.provider.url = tcp://172.20.6.23:61653

对于指定connectionFactory的jndi名字,多个名字之间可以逗号分隔。
1.对于topic,使用(TopicConnectionFactory)context.lookup("connectionFactry")
2.对于queue,(QueueConnectionFactory)context.lookup("connectionFactory")
connectionFactoryNames = ConnectionFactory

对于注册queue的格式如下:
模板:queue.[jndiName] = [physicalName]
使用时:(Queue)context.lookup("jndiName"),此处是example.MyQueue
queue.MyQueue = example.MyQueue

对于注册topic的格式如下(订阅发布模式):
模板:opic.[jndiName] = [physicalName]
使用时:(Topic)context.lookup("jndiName"),此处是MyTopic
topic.MyTopic = MyTopic

jmeter脚本

线程组->添加->Sampler->JMS Point-to-Point

 

注释:

1.上面的配置与jndi.properties中配置参数填写一致

2.最后一行Provider Url = jndi.properties配置文件中的java.naming.provider.url(mq链接地址)

3.content中填写此次需要的请求消息体

以上,就可以向mq发送消息了

//JNDI Properties

上述内容在不填写JNDI Properties就可以执行,如果请求mq的地址有变化,可以直接在JNDI Properties中填写修改后的对应配置参数(名称;值)

效果同jndi.properties

 

posted @ 2019-07-27 17:58  默晓梦  阅读(1619)  评论(0编辑  收藏  举报