jmeter之——jms壓測(activemq)

happym_m發表於2018-10-09

 

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

--------------------- 本文來自 藍精靈lx 的CSDN 部落格 ,全文地址請點選:https://blog.csdn.net/liuxiao723846/article/details/52807104?utm_source=copy

相關文章