jmeter之——jms压测(activemq)

系统管理员 2021-05-12 11:54 818阅读 0赞

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

  1. java.naming.factory.initial = org.apache.activemq.jndi.ActiveMQInitialContextFactory
  2. java.naming.provider.url = tcp://10.153.134.176:61616
  3. #指定connectionFactory的jndi名字,多个名字之间可以逗号分隔。
  4. #以下为例:
  5. #对于topic,使用(TopicConnectionFactory)context.lookup("connectionFactry")
  6. #对于queue,(QueueConnectionFactory)context.lookup("connectionFactory")
  7. connectionFactoryNames = connectionFactory
  8. #注册queue,格式:
  9. #queue.[jndiName] = [physicalName]
  10. #使用时:(Queue)context.lookup("jndiName"),此处是MyQueue
  11. queue.MyQueue = ActiveMQ.headLine.syncEntity.queue.dev
  12. #注册topic,格式:
  13. # topic.[jndiName] = [physicalName]
  14. #使用时:(Topic)context.lookup("jndiName"),此处是MyTopic
  15. 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 添加一个队列的界面

Center

Center 1

注:如果不写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

发表评论

表情:
评论列表 (有 0 条评论,818人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Jmeter

    Jmeter工具使用入门教程 添加线程组 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text