1. 程式人生 > >Jmeter實現webservice的壓力測試

Jmeter實現webservice的壓力測試

Jmeter和soupUI同樣可以用於對ws服務的壓力測試,不同之處在於:

1.soupUI是專門針對ws服務設計的測試工具,即包括一般的功能性測試,也能包含針對ws服務的壓力測試;Jmeter是適合於java場景下對各種協議進行測試的通用性壓力測試工具。

2.可擴充套件性來說,soupUI作為一個ws的定製化工具,可擴充套件性相對受限,常用的定製化主要體現在對斷言的程式設計上;Jmeter提供了一個壓力測試的程式設計平臺,可以根據具體的業務場景進行不同的協議測試,包括所需要監視的點,需要的斷言,都可以進行自己程式設計實現,而且各個模組之間的耦合非常鬆散。

3.簡單來說,一個更專注於協議(soupUI),一個更專注於壓測(Jmeter)。

以ws協議為例,記錄使用jmeter進行壓力測試的方法,同時也在這個過程中比較soupUI和Jmeter的使用異同。

為了避免對線上其他服務造成效能影響,首先用soupUI在本次模擬出一個ws服務,該服務提供翻譯功能,即把英文單詞翻譯成相應的中文單詞。


使用soupUI模擬ws服務的方法,在另一篇部落格中有說明,此處不贅述:soupUI簡易使用手冊

然後進入到Jmeter頁面。

1.建立新的壓力測試project


2.選擇

3.然後在展示的test plan上新建執行緒組:


4.然後線上程組上新增ws請求:


5.為了判斷結果是否正確,可新增斷言(這裡使用響應斷言):


6.使用包含斷言:


7.然後相應的新增對結果的判斷:


用於結果判斷的檢視。

然後調整執行緒組的引數,可以檢視具體的效能表現,包括吞吐率/響應時間等。

根據不同的業務場景,設定不同的監視器,用於檢視壓測過程中的各個引數。

同時對於某個組織內部的協議,使用Jmeter可以開發自己協議的針對性元件,用於內部協議的測試,而其他的元件如監視器,可以進行復用。