前言
- 在進行新架構相關服務的開發測試過程中,爲了測試應用 , 需要經常進行MQ消息的發送 , 目前採用的MQ消息的發送是在MQ官方提供的Web頁面上面進行的,但是在該頁面上測試存在諸多不方便的地方,比如每次都要找到對應的隊列,再找到對應的消息複製過去 , 若需要測試多個隊列 , 這樣進行頻繁的切換會非常麻煩 , 爲便於MQ的測試 , 本來我想寫個工具去處理這個問題 , 後來發現原來Jmeter就可以勝任 , 因此有了這篇教程 , 送給有緣人
步驟
-
從官網下載Jmeter , 推薦下載5.0版本 , 目前最新版是5.1版本 , 但是這個版本不知道爲什麼 , 在我電腦上使用的時候無法進行MQ消息的發送 , 5.0版本下載鏈接: https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-5.0.zip
-
在部署ActiveMQ服務器的時候我們發現在其目錄下會存在一個
activemq-all-xxx.jar
的jar包,如下圖所示 -
將
activemq-all-xxx.jar
包複製到Jmeter的lib文件夾下面 -
啓動Jmeter應用程序 , 啓動腳本在 bin文件夾下,叫做
jmeter.bat
-
在當前
test plan
下右鍵選擇add-->Threads-->Thread Group
-
再在當前線程組下創建
JMS Point-to-Point
選中當前線程組,右鍵選擇add-->Sampler-->JMS Point-to-Point
-
按照表格填寫對應的內容,對應填寫相關內容
KEY value 備註 QueueConnection Factory ConnectionFactory 隊列連接工廠,默認值 JNDI name Request queue Q.REQ JNDI請求隊列,默認值 Communication style request_only 僅進行請求發送 Timeout 2000 超時時間,2s Content 發送的MQ消息內容 發送的消息內容 Initial Context Factory org.apache.activemq.jndi.ActiveMQInitialContextFactory 初始化內容工廠 JNDI Properties Name固定填寫queue.Q.REQ,Value填寫具體的隊列名稱 Provider URL tcp://192.168.81.45:61616 MQ地址配置
-
右鍵線程組,選擇
add-->listener-->View Reuslts Tree
創建視圖結果樹 -
點擊運行按鈕進行消息隊列的發送,可在視圖結果樹中查看消息發送狀態,若爲綠色,則發送成功,爲紅色,發送失敗
-
可直接對該線程組進行復制粘貼以配置其他消息, 另外,需注意,Jmeter在運行的時候會運行所有的線程組, 因此 , 若不需發送消息的線程組,對其右鍵,選擇
Disable
關閉,只保留需要發送消息的線程組, 點擊運行發送消息