jmeter之——jms压测(activemq)

来源:互联网 发布:网吧系统破解软件 编辑:程序博客网 时间:2024/05/20 05:07

jmeter 是通过 jndi 来获得 jms 中相关对象的,如 ConnectionFactory 和 Destination,所以在 jmeter 的 classpath 中需要添加一个 jndi.properties 属性文件,用于配置jndi。 创建jndi.properties文件,包含如下内容:

java.naming.factory.initial = org.apache.activemq.jndi.ActiveMQInitialContextFactory  java.naming.provider.url = tcp://10.153.134.176:61616#指定connectionFactory的jndi名字,多个名字之间可以逗号分隔。  #以下为例:  #对于topic,使用(TopicConnectionFactory)context.lookup("connectionFactry")  #对于queue,(QueueConnectionFactory)context.lookup("connectionFactory")  connectionFactoryNames = connectionFactory    #注册queue,格式:  #queue.[jndiName] = [physicalName]  #使用时:(Queue)context.lookup("jndiName"),此处是MyQueue  queue.MyQueue = ActiveMQ.headLine.syncEntity.queue.dev    #注册topic,格式:  # topic.[jndiName] = [physicalName]  #使用时:(Topic)context.lookup("jndiName"),此处是MyTopic  topic.MyTopic = ActiveMQ.Advisory.Consumer.Topic.cacheupdate  

1、把jndi.properties放到jmeter的启动jar包中:

可以直接将jndi.properties文件拖入jar包中;也可以执行如下操作,打开命令行窗口,并定位到 JMETER_HOME/bin 目录,运行如下命令 :

jar uf ApacheJMeter.jar jndi.properties


2、添加activemq-all-5.2.0.jar包到Jmeter的lib库:
将ACTIVE_HOME/activemq-all-5.2.0.jar文件复制到JMETER_HOME/lib目录中,jmeter在测试jms的时候会使用到activemq提供的jms的实现类,这些类并没有随jmeter一起分发,需要把这些类添加到jmeter的classpath中。


3、启动Jmeter测试JMS:
添加线程组及JMS的sampler,有三种方式的JMS消息:

1)Point-to-Point

右键》添加》sampler》JMS point-to-point 添加一个队列的界面


注:如果不写Receive queue,则不会有消费者。


2)Publisher
基本值同Point-to-Point,不同点在于Destination,填写JMS的topic目的地
若在ActiveMQ中Topics的名字为example.MyTopic
则jndi.properties文件中定义的topic如下:
topic.MyTopic = example.MyTopic
则Destination填写topic.后面的MyTopic


3)Subscriber
基本值同Publisher,不同在于可以根据需要填写Client ID,JMS Selector进行消息过滤



参考:

http://www.open-open.com/lib/view/open1425649397165.html

activemq -jndi:

http://activemq.apache.org/jndi-support.html

1 0
原创粉丝点击