小白學JMeter:如何開始簡單的WEB壓力測試(一)

背景

最近工作上被安排針對Web網站進行性能壓測,以評估特定的硬件配置下Web網站可支持的并發(fā)用戶數??紤]到JMeter是流行的Web性能壓測工具,因此趁著這次機會上網查閱了很多關于JMeter的資料,也自己動手進行軟件的配置和調測,從最基本的發(fā)送HTTP請求,到參數化輸入,分布式測試和最后的實時結果展示都折騰了一把?,F將折騰過程進行整理,既作為自己日后參考,也可分享給有需要的人,少踩一些坑。

在折騰的過程中,主要參考JMeter官網,上面有詳細的手冊和教程,同時也參考了其他一些博客和StackOverflow。重新整理的過程也是一個學習提高的過程,復習了相關的概念并找到了一些更易于理解的方法。

接下來按照我做為初學者對性能壓測的疑問,對整個過程進行梳理:

  • 如何開始簡單的WEB壓力測試(一):發(fā)起第一個HTTP請求
  • 如何開始簡單的WEB壓力測試(二):并發(fā)測試與參數化
  • 如何錄制測試計劃
  • 如何進行分布式壓力測試
  • 如何實時展現測試結果

每個問題都會輔以實際的例子進行解答,并將具體操作的步驟和結果截圖記錄下來。


如何開始簡單的WEB壓力測試

俗話說萬事開頭難,接下來我們以一個最簡單的例子介紹如何從JMeter發(fā)起第一個HTTP請求。后續(xù)在這個例子上進行延伸,了解如何進行并發(fā)測試和參數化。

發(fā)起第一個HTTP請求

1. 安裝JMeter

建議從官網上下載最新版本,以便獲得更多新功能。目前最新的版本是3.3,支持Java8。同時,官網上也有豐富的文檔資源,包括用戶手冊,最佳實踐,組件參考和教程等,值得花時間仔細閱讀。

2. 準備被測網站

被測網站建議使用 PutsReq 。這個網站可以接受HTTP請求并且可以自定義返回結果,過程非常清晰,適合做為HTTP測試使用。
在網站首頁上點擊 “Create a PutsReq" 藍色按鈕,網站會自動幫你創(chuàng)建一個URL,接下來就可以往這個路徑發(fā)送HTTP請求。可以看到是如果普通的GET請求,則會返回"Hello World";如果是POST請求并帶了name參數(假設name參數值為XYZ),則會返回 Hello XYZ

PutsReq網站截圖
3. 在JMeter中配置測試計劃

首先在Test Plan中增加一個Thread Group。在JMeter中每個Thread相當于一個模擬用戶,在Thread Group中進行進一步的配置可以定義模擬用戶的行為,如發(fā)起各種請求等。

創(chuàng)建Thread Group

在本例中Thread Group創(chuàng)建后可以先不改參數,接著創(chuàng)建一個Sampler/HTTP Request

創(chuàng)建Sampler

并按下圖所示填寫相關的參數,包括協議,服務器名,請求類型和路徑,讓模擬用戶發(fā)送HTTP GET Reqeust到被測網站。

配置Sampler

最后增加一個Listener/View Results Tree,查看請求的結果。

創(chuàng)建Listener

如果一切正常,那這個請求應該返回一串字符”Hello World"

4. 通過JMeter執(zhí)行測試計劃并查看結果

配置完成后我們就可以通過JMeter執(zhí)行剛剛配置好的測試計劃,即發(fā)送一個HTTP GET Request到被測網站 PutsReq

執(zhí)行測試計劃

在JMeter上查看請求結果,返回是一串字符 "Hello World"

通過Listener查看請求返回結果

這一小節(jié)先整理到這里。下一小節(jié)我們在這個例子的基礎上進行延伸,介紹如何同時發(fā)起多個請求,并對請求的輸入進行參數化。敬請期待!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容