轉:基於Jmeter的MQTT測試插件

基於Jmeter的MQTT測試插件-上

1. Jmeter插件簡介java

Apache JMeter是Apache組織開發的基於Java的壓力測試工具。下載
用於對軟件作壓力測試,它最初被設計用於Web應用測試,但後來擴展到其餘測試領域。git

這裏咱們主要使用的基於Jmeter開發的,測試MQTT協議的插件工具,從github上找到了幾個歪果人寫的插件,主要有如下幾個:github

這3個插件都很像,
第1個下載的最多,可是我在使用發現存在bug,棄之。
第2個功能比較簡單,只能知足簡單的單主題發送。
第3個是做者基於第1個來改的,而且把鏈接MQTT的客戶端換成了最經常使用的paho java客戶端,正好是我項目中使用的,熟悉,功能上雖然沒有第1個豐富,可是有源碼,改改仍是能夠適用的。apache

2. mqttws源碼打包

下載解壓以後,導入到eclipse中,項目是經過maven構建,如圖:
服務器

插件的效果圖:
這裏寫圖片描述markdown

下面是具體的構建方法:
在項目上點擊右鍵,Run As->Maven clean->Maven install,在target目錄下,將生產一個名爲mqttws-jmeter.jar的jar包。
mqttws-jmeter.jar複製到Jmeter的\lib\ext目錄下,再將工程ressource目錄下的messages.properties文件中相關MQTT的內容複製至Jmeter的\lib\ext目錄下ApacheJMeter_core.jar中,session

使用解壓縮工具打開,路徑:ApacheJMeter_core.jar\org\apache\jmeter\resourceseclipse

注意原做者給出的messages.properties中包含的鍵值並不全,好比:maven

mqtt_clean_session= Clean Session
mqtt_publisher=MQTT Publisher
mqtt_itertions=Number of samples to aggregate mqtt_connection_timeout=Milliseconds to wait for connection
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

此處沒有所有列出來,請自行添加吧。ide

3. 插件使用

  • 添加線程組:添加->Threads(Users)->線程組
    Ramp-Up Period(in seconds):設置的虛擬用戶數須要多長時間所有啓動。若是線程數爲20 ,準備時長爲10 ,那麼須要10秒鐘啓動20個線程。也就是每秒
    鍾啓動2個線程。若是設置0,爲同時啓動。
  • 添加發布端:線程組右鍵,添加->Sampler->MQTT Publisher
    Provider URL:MQTT服務器地址
    List Topic:發佈的主題。雖然這裏寫的是list,可是做者並不支持,後面會講修改了一下源碼,支持多主題發佈
    Number of samples to aggregate:一個線程發佈相同消息的次數
    throttle:連續發送的消息之間,等待的毫秒數
  • 添加監聽器
    圖像,表格都行
    這裏寫圖片描述
相關文章
相關標籤/搜索