上一節中,我們了解了jmeter的一此主要元件,那么這些元件如何使用到性能測試中呢。這一節創建一個簡單的測試計劃來使用這些元件。該計劃對應的測試需求。
1)測試目標網站是fnng.cnblogs.com 和 tt-topia.rhcloud.com
2)測試目的是該網站在負載達到20 QPS 時的響應時間。
QPS 解釋
QPS:Query Per Second 每秒查詢率。是一臺查詢服務器每秒能夠處理的查詢次數。在因特網上,作為域名系統服務器的機器的性能經常用每秒查詢率來衡量。
為了達成預期的測目的,需要需要在jmeter中建立一個測試計劃。因為本次測試僅要求完成對fnng.cnblogs.com 和 tt-topia.rhcloud.com 兩個博客首頁請求,因此只需要使用HTTP Request Sampler 即可。
建立測試計劃
啟動jmeter后,jmeter會自動生成一個空的測試計劃,用戶可以基于該測試計劃建立自己的測試計劃。
添加線程組
--------------------------------------------------------------------------------
一個性能測試請求負載是基于一個線程組完成的。一個測試計劃必須有一個線程組。測試計劃添加線程組非常簡單。在測試計劃右鍵彈出下拉菜單(添加-->Threads(Users)--->線程組)中選擇線程組即可。
jmeter中 每個測試計劃至少需要包含一個線程組,當然也可以在一個計劃中創建多個線程組,那么多個線程組之間又會怎樣的順序執行(串行還是并行)?在測試計劃下面多個線程是并行執行的,也是說這些線程組是同時被初始化并同時執行線程組下的Sampler的。
線程組主要包含三個參數:線程數、準備時長(Ramp-Up Period(in seconds))、循環次數。
線程數:虛擬用戶數。一個虛擬用戶占用一個進程或線程。設置多少虛擬用戶數在這里也是設置多少個線程數。
準備時長:設置的虛擬用戶數需要多長時間全部啟動。如果線程數為20 ,準備時長為10 ,那么需要10秒鐘啟動20個線程。也是每秒鐘啟動2個
線程。
循環次數:每個線程發送請求的次數。如果線程數為20 ,循環次數為100 ,那么每個線程發送100次請求。總請求數為20*100=2000 。如果勾選
了“永遠”,那么所有線程會一直發送請求,一到選擇停止運行腳本。
設置合理的線程數對于能否達到測試目標有決定性的影響。在本例中,要求得到網站首頁在20 QPS 負載情況下的響應時間,如果如果線程數量設
置的過小,則很可能無法達到設定的QPS要求。另外,設置合理的循環次數也很重要,除了上面介紹的固定循環次數與永遠外;也可以靈活的選擇設定
測試運行時間。勾選“調度器”,進行調度器配置。
添加HTTP請求
--------------------------------------------------------------------------------
添加完成線程組后,在線程組上右鍵菜單(添加--->Sampler--->HTTP請求)選擇HTTP請求。對于jmeter來說,取樣器(Sampler)是與服務器進
行交互的單元。一個取樣器通常進行三部分的工作:
向服務器發送請求
記錄服務器的響應數據