JMeter - JMS 主題測試計劃



構建 JMS 主題測試計劃

現在讓我們編寫一個 JMeter 測試計劃來測試 JMS 提供程式。我們將建立一個訂閱者和一個釋出者。我們將建立一個執行緒組,並將每個執行緒組設定為兩次迭代。

首先,讓我們從 **`/home/manisha/apache-jmeter2.9/bin/jmeter.sh`** 啟動 JMeter。

新增使用者

現在按照以下步驟建立一個執行緒組:

  • 右鍵單擊測試計劃

  • 選擇新增 → 執行緒(使用者)→ 執行緒組。執行緒組將新增到測試計劃節點下。

  • 將此執行緒組重新命名為 *JMS pub-sub user*。

Thread Group Added

我們將 *迴圈計數* 更改為兩次。執行緒組的其餘預設屬性保持不變。這意味著一個執行緒組中的一個執行緒或一個使用者透過請求佇列傳送兩條訊息。

新增 JMS 訂閱者和釋出者

讓我們看看如何新增訂閱者和釋出者:

添加發布者

  • 透過選擇新增 → 取樣器 → JMS 釋出者,將取樣器 JMS 釋出者新增到釋出者元素。

  • 在樹中選擇 JMS 釋出者元素。

  • 編輯以下屬性:

屬性 描述
名稱 樣本釋出者 顯示在樹中的此元素的描述性名稱。
如果 JMS 提供程式使用 jndi.properties 檔案 選中複選框 使用 jndi.properties。請注意,該檔案必須位於類路徑上,例如透過更新 user.classpath JMeter 屬性。如果未選擇此選項,JMeter 將使用“JNDI 初始上下文工廠”和“提供程式 URL”欄位來建立連線。
InitialContextFactory org.apache.activemq.jndi.ActiveMQInitialContextFactory 上下文工廠的名稱。
提供程式 URL tcp://:61616 JMS 提供程式的 URL。
連線工廠 ConnectionFactory JMS 提供程式的 URL。
目標 dynamicTopics/MyStaticTopic1 訊息主題的名稱。對於 ActiveMQ 動態主題(動態建立主題)。
要聚合的樣本數量 2 要聚合的樣本數量。
訊息源 文字區域 獲取訊息的位置:

從檔案 - 表示將讀取引用的檔案,並由所有樣本重複使用。

從資料夾中隨機選擇檔案 - 表示將從指定的資料夾中隨機選擇一個檔案,此資料夾必須包含副檔名為 .dat 的檔案(用於位元組訊息),或副檔名為 .txt 或 .obj 的檔案(用於物件或文字訊息)。

文字區域 - 用於文字或物件訊息的訊息。

訊息型別 文字 文字、對映、物件訊息或位元組訊息

其餘屬性保留預設值。以下螢幕截圖顯示了上述配置:

JMS publisher sampler

新增訂閱者

現在我們已經定義了使用者,是時候定義他們將執行的任務了。

  • 透過選擇新增 → 取樣器 → JMS 訂閱者,將取樣器 JMS 訂閱者新增到訂閱者元素。

  • 在樹中選擇 JMS 訂閱者元素

  • 編輯以下屬性:

屬性 描述
名稱 樣本訂閱者 顯示在樹中的此元素的描述性名稱。
如果 JMS 提供程式使用 jndi.properties 檔案 選中複選框 使用 jndi.properties。請注意,該檔案必須位於類路徑上,例如透過更新 user.classpath JMeter 屬性。如果未選擇此選項,JMeter 將使用“JNDI 初始上下文工廠”和“提供程式 URL”欄位來建立連線。
InitialContextFactory org.apache.activemq.jndi.ActiveMQInitialContextFactory 上下文工廠的名稱。
提供程式 URL tcp://:61616 JMS 提供程式的 URL。
連線工廠 ConnectionFactory JMS 提供程式的 URL。
目標 dynamicTopics/MyStaticTopic1 訊息主題的名稱。對於 ActiveMQ 動態主題(動態建立主題)。
讀取響應 複選框 取樣器應讀取響應。如果沒有,則只返回響應長度。
超時 2000 要應用的超時時間(以毫秒為單位)。0=無。這是總的聚合超時,而不是每個樣本的超時。

其餘屬性保留預設值。以下螢幕截圖顯示了上述配置:

JMS Subscriber Sampler

建立監聽器

現在新增監聽器元素。此元素負責將所有 JMS 請求的結果儲存到檔案中,並呈現資料的視覺化模型。

  • 選擇執行緒組元素。

  • 透過選擇新增 > 監聽器 > 檢視結果樹,新增檢視結果樹監聽器。

JMS Pub Sub Test Listener

儲存並執行測試計劃

現在將上述測試計劃儲存為 *jms_pub_sub.jmx*。使用執行 → 啟動選項執行此測試計劃。

驗證輸出

釋出者的輸出

JMS Publish Sub Test Output1

JMS Publish Sub Test Output2

訂閱者的輸出

JMS Publish Sub Test Output3

JMS Publish Sub Test Output4

JMS Publish Sub Test Output5

返回到 ActiveMQ 的管理控制檯。在這裡,我們可以看到主題中的訊息狀態。

JMS Publish Sub Admin Console
jmeter_jms_test_plan.htm
廣告
© . All rights reserved.