Jmeter(五十) – 從入門到精通高級篇 – jmeter 之模擬弱網進行測試(詳解教程)

1.簡介

在實際工作中,網絡帶寬一定不會是持續穩定的保持某一個值,而是有高有低。因此為了測試場景和實際能夠無限的接近,所以我們需要模擬一下來達到效果。還有就是在實際的測試工作中,會因為業務需要,有時限網速,更加符合實際,所以我們也需要模擬弱網進行測試。

2.查看官網文檔

參考官網文檔:cps屬性為了模擬低網速,如下圖所示:

3.準備工作

為了測試出真實的響應時間情況,用jmeter模擬弱網進行工作,我們需要修改一下jmeter的配置。就是修改jmeter.properties文件。在安裝jmeter目錄找到apache-jmeter-5.0/bin/jmeter.properties文件,找到參數,分別為限制http以及https

這些分別用於HTTP和HTTPS協議,該屬性默認為零,這意味着沒有限制。首字母縮寫cps代表「每秒字符數」。當您將屬性設置為零以上時,帶寬將根據您的設置進行調節。

#httpclient.socket.http.cps=0
#httpclient.socket.https.cps=0

如圖所示:

4.cps的計算邏輯

查看jmeter的JMeter Wiki  在其中可以找到cps的計算邏輯,你也可以直接訪問://cwiki.apache.org/confluence/display/JMETER/Controlling+Bandwidth+in+JMeter+to+simulate+different+networks 來查看jmeter模擬不同帶寬

從上圖紅色圈住的部分我們很容易知道cps的計算邏輯:cps = (target bandwidth in kbps * 1024) / 8,所以cps=B/s的速率。

5.網絡帶寬的換算

1、網絡速率
100Mbps=100Mbit/s即兆比特每秒
100MB/s=100MBytes/s即兆位元組每秒
1B=8bit

100Mbps=12.5MB/s,理論上平常的百兆帶寬下載速率可以達到12.5MB/s 100MB/s=1001024KB/s=1001024*1024B/s
2、數據存儲對於數據硬盤之類的存儲換算比較不同,數據存儲是以10進制表示,1MB=1000KB

6.實戰模擬弱網

1、jmeter分別配置不同的cps測試響應時間的變化,

Jmeter簡單建立一個訪問度娘的測試腳本,如下圖所示:

2、為了避免數據量小不具有代表性,影響測試結果,宏哥這裡將線程組設置成了100,默認情況下該接口,測試結果(平均時間0.153s),如下圖所示:

3、響應時間很小,設置cps=40KB/s=40*1024B/s=40960,查看網絡延遲情況

4、修改配置後,運行jmeter(平均時間0.307s)。可以看到平均網絡延遲了0.154s,如下圖所示:

通過這樣的設置方法,Jmeter就可以做到弱網測試。

7.小結

宏哥簡單的例舉幾個弱網測試工具:Fiddler、Clumsy。Clumsy是基於C語言開發的一款開源網絡模擬工具。它能在Windows平台下人工造成不穩定的網絡狀態,應用它可以方便調試應用程序在極端網絡狀態下的表現。

Tags: