日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

jmeter测试java服务_Jmeter 测试 JMS (Java Message Service)/ActiveMQ 性能

發布時間:2023/12/4 java 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jmeter测试java服务_Jmeter 测试 JMS (Java Message Service)/ActiveMQ 性能 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

JMS 介紹:JMS 即 Java 消息服務(Java Message Service)應用程序接口,是一個 Java 平臺中關于面向消息中間件(MOM)的 API,用于在兩個應用程序之間,或分布式系統中發送消息,進行異步通信。(百度

)

本文只測試 ActiveMQ,其他消息中間件應該同理.

ActiveMQ 介紹

JMS 常見 2 種消息模型:

點對點 (Queues 隊列)

生產者產生消息,仍 1 條消息給 ActiveMQ,消費者監聽 ActiveMQ,從 ActiveMQ 中取走 1 條消息,并銷毀這個消息,且只會有一個監聽的消費者取走.其他消費者不會取走信息

廣播/訂閱 (Topics 隊列)

廣播出 1 條消息給 ActiveMQ,訂閱監聽 ActiveMQ,所有當時監聽 ActiveMQ 的訂閱都可以取到這條消息,并銷毀這個消息,

3 . 虛擬 Topics

為什么說 2 種消息模型,這里會有第三種,因為 Topics 隊列的性質決定,當我要發消息給很多訂閱,但是如果訂閱監聽服務掛掉,就不能收到這個消息,導致消息未發布到這個訂閱,所以引申出第三個消息模型,虛擬 Topics.

廣播出 1 條消息給 ActiveMQ Topics 隊列,ActiveMQ 會自動轉換給要分發消息的訂閱 Queues 隊列.然后訂閱監聽 Queues 隊列去取走消息.這 2 種消息模型的結合,產生出第三種消息模型,虛擬 Topics.

準備工作

以 ActiveMQ 為例子,使用 jmeter 測試 JMS.

Jmeter 版本:3.2

ActiveMQ 版本 5.14.5

編寫jndi.properties添加到ApacheJMeter.jar 中

新建jndi.properties到 jmeter/bin 目錄下

復制內容為:

java.naming.factory.initial = org.apache.activemq.jndi.ActiveMQInitialContextFactory

java.naming.provider.url = tcp://IP:61616

connectionFactoryNames = connectionFactory

queue.T_MDM_Q = Queue.T_MDM

queue.T_IPS_Q= Queue.T_IPS

topic.T_MDM_T= VirtualTopic.T_MDM

topic.T_IPS_T= VirtualTopic.T_IPS

java.naming.factory.initial:ActiveMQ jar包中 init 所需的 類名

java.naming.provider.url:ActiveMQ的地址

connectionFactoryNames:鏈接工廠名稱

queue.T_MDM_Q:隊列名稱

queue:說明是queue隊列

T_MDM_Q:自定義字段,在后面用來指向隊列名稱

同理topic.T_MDM_T

把配置文件打到ApacheJMeter.jar 中

在 jmeter/bin 目錄下運行

jar uf ApacheJMeter.jar jndi.properties

下載 ActiveMQ

把 ActiveMQ 下 activemq-all-x.x.x.jar放到 Jmeter/lib 下

配置 Jmeter 進行測試 點對點 (Queues 隊列)

待測消息模型:點對點 (Queues 隊列)

待測隊列名稱:Queue.T_MDM

右鍵》添加》sampler》JMS point-to-point 添加一個隊列的界面

QueueConnection Factory:jndi.properties中 connectionFactoryNames 字段

JNDI Name Request queue:生產者向哪個隊列插入消息,jndi.properties中對應待測隊列名稱的 queue.xxxxx

JNDI Name Reply queue:消費者從哪個隊列取消息,jndi.properties中對應待測隊列名稱的 queue.xxxxx

Content:消息內容

InitialContextFactory:org.apache.activemq.jndi.ActiveMQInitialContextFactory

Provider URL:ActiveMQ 地址

配置 Jmeter 進行測試 發布/訂閱 (Topic 隊列)

待測消息模型:發布/訂閱 (Topic 隊列)

待測隊列名稱:VirtualTopic.T_MDM

配置發布 Publisher

右鍵》添加》sampler》JMS Publisher 添加一個 Publisher 界面

InitialContextFactory:org.apache.activemq.jndi.ActiveMQInitialContextFactory

Provider URL:ActiveMQ 地址

QueueConnection Factory:jndi.properties中 connectionFactoryNames 字段

Destination:發布往隊列的名稱,jndi.properties中對應 Topic 隊列名稱的 topic.xxxx

Text Massage:發布的消息

配置訂閱 Subscriber

右鍵》添加》sampler》JMS Subscriber 添加一個 Publisher 界面

總結

上面只介紹了 ActiveMQ 的配置方法,因為我也只調了 ActiveMQ,其他 JMS 中間件沒有試過,如果你們項目中需要,可以試一下.

Jmeter 測試 JMS 中涉及的其他參數設置,可能會用到的,查看 Jmeter 說明http://jmeter.apache.org/usermanual/build-jms-point-to-point-test-plan.html

總結

以上是生活随笔為你收集整理的jmeter测试java服务_Jmeter 测试 JMS (Java Message Service)/ActiveMQ 性能的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。