1. Jmeter插件簡介java
Apache JMeter是Apache組織開發的基於Java的壓力測試工具。下載
用於對軟件作壓力測試,它最初被設計用於Web應用測試,但後來擴展到其餘測試領域。git
這裏咱們主要使用的基於Jmeter開發的,測試MQTT協議的插件工具,從github上找到了幾個歪果人寫的插件,主要有如下幾個:github
這3個插件都很像,
第1個下載的最多,可是我在使用發現存在bug,棄之。
第2個功能比較簡單,只能知足簡單的單主題發送。
第3個是做者基於第1個來改的,而且把鏈接MQTT的客戶端換成了最經常使用的paho java客戶端,正好是我項目中使用的,熟悉,功能上雖然沒有第1個豐富,可是有源碼,改改仍是能夠適用的。apache
下載解壓以後,導入到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
此處沒有所有列出來,請自行添加吧。ide
Ramp-Up Period(in seconds)
:設置的虛擬用戶數須要多長時間所有啓動。若是線程數爲20 ,準備時長爲10 ,那麼須要10秒鐘啓動20個線程。也就是每秒 Provider URL
:MQTT服務器地址 List Topic
:發佈的主題。雖然這裏寫的是list,可是做者並不支持,後面會講修改了一下源碼,支持多主題發佈 Number of samples to aggregate
:一個線程發佈相同消息的次數 throttle
:連續發送的消息之間,等待的毫秒數