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