弱網測試原理以及方法(一)
一、為什么要進行弱網測試?
按照移動特性,各種網絡連接協議不同,導致通信的信號不同,速率也不同,影響應用的加載時間、可用性、穩定性
二、什么樣的網絡屬於弱網?
低於2g速率的時候都屬於弱網也可以將3g划分為弱網 一般wifi不納入弱網測試范圍。
三、如何進行弱網測試?
1.SIM卡的網絡切換手機-設置-移動網絡設置-網絡類型選擇
3G卡有3種模式:1.只使用2G網絡 2.只使用3G網絡 3.3G網絡優先
根據
手機型號的不同,上面的選項可以會稍有變化。
因為電信、移動、聯通的速率各不相同所以可以取速率最低的值進行測試。
2. 使用虛擬機模擬網絡速率
3. 使用Fiddler來進行網絡代理。
3.1.開啟弱網
打開Fiddler,Rules->Performance->勾選 Simulate Modem Speeds,勾選之后訪問網站會發現網絡慢了很多
3.2.Fiddler弱網的原理
Rules—>Cutomize Rules打開CustomRules.js 文檔
在文件中搜索關鍵字,m_SimulateModem
網絡取值的算法就是 1000/下載速度 = 需要delay的時間(毫秒),比如50kb/s 需要delay200毫秒來接收數據。
讓我們來分析一下這幾行代碼:
-
首先來判斷m_SimulateModem是否為true,也就是是否設置了弱網模式。
-
如果為弱網模式。則分析代碼
-
oSession[“request-trickle-delay”] = “300”; 注釋的也很明白,Delay sends by 300ms per KB uploaded.上傳1KB需要300ms,轉化一下上傳速度:1Kb/0.3s = 10/3(KB/s)
-
如果你想設置上傳的速度為50KB/s,你則需要設置Delay 時間為 20ms
-
同樣的方法,也可以限制上傳的速度,調整oSession[“response-trickle-delay”]即可。
設置完成后,清空原有的log,並使用你的app進行弱網條件下的操作,
選擇第一個請求和最后一個請求,可獲得整個頁面加載所消耗的總體時間。從條形圖表中還可以分別出哪些請求耗時最多,從而對頁面的訪問進行訪問速度優化
如下圖:
不同請求耗時多少的圖形表,獲取那種資源耗時最大,進而進行優化:
如下圖