Fidder弱網測試
fiddler模擬限速的原理
我們可以通過fiddler來模擬限速,因為fiddler本來就是個代理,它提供了客戶端請求前和服務器響應前的回調接口,我們可以在這些接口裏 面自定義一些邏輯。Fiddler的模擬限速正是在客戶端請求前來自定義限速的邏輯,此邏輯是通過延遲發送數據或接收的數據的時間來限制網絡的下載速度和 上傳速度,從而達到限速的效果。
他提供了一個功能,讓我們模擬低速網路環境…啟用方法如下:
Rules → Performances → Simulate Modem Speeds :模擬調制解調器的速度
啟動fiddler需要進行如下設置:
1.設置端口號:
allow remote computers to connect “允許遠程計算機連接”為設置的代理可以連接到fiddle上,必須勾選
2.重啟fiddle;
3.設置模擬調制解調器的速度:
4.設置手機代理
手機代理設置“ip地址為本機的ip,端口號為之前設置的端口號(確保端口號不被占用)”
5.手動設置設置上行,下行速率,模擬網路速度的原理,每上傳/下載1KB 要delay 多久…
網絡取值的算法就是 1000/下載速度 = 需要delay的時間(毫秒),比如50kb/s 需要delay200毫秒來接收數據。
查找代碼如下:
if (m_SimulateModem) {
//Delay sends by 300ms per KB uploaded. //每延遲300ms發送1kb的數據,也就是每1s發送3kb的數據
oSession["request-trickle-delay"] = 300
//Delay receives by 150ms per KB downloaded.
oSession["response-trickle-delay"] = 150//每延遲150ms下行1kb的數據
}
請註意,當你存檔之後,原本已經勾選的SimulateModem Speeds 會被取消勾選,要記得再到Rules → Performances → Simulate Modem Speeds 勾選喔!
6.設置完成後,清空原有的log,並使用你的app進行弱網條件下的操作,
選擇第一個請求和最後一個請求,可獲得整個頁面加載所消耗的總體時間。從條形圖表中還可以分別出哪些請求耗時最多,從而對頁面的訪問進行訪問速度優化
如下圖:
不同請求耗時多少的圖形表,獲取那種資源耗時最大,進而進行優化:
如下圖
Fidder弱網測試