Fiddler做弱網測試的步驟


面試題:

如何用fiddler做弱網測試?

答:在fiddler腳本編輯器中修改上行下行的延遲時間,然后開啟模擬器,就可以開始測試了。

步驟:

1、ctrl+R打開fiddle的腳本編輯窗口,ctrl+F查找response-trickle-delay,找到如下圖中的

解釋:request-trickle-delay:網絡請求的延遲時間,response-trickle-delay:網絡響應的延遲時間,單位都是ms

 

網絡取值的算法就是 1000/下載速度 = 需要delay的時間(毫秒),比如50kb/s  需要delay200毫秒來接收數據。

  我認為的模擬2G設置request延時=3000ms,response延時=1000ms

                        3G上行100ms,下行40ms

2、修改好代碼后,啟用模擬器

在fiddler中Rules → Performances → Simulate Modem Speeds 

3、分析

手機點擊登錄,抓到了登錄的包,fiddler中選擇這條登錄請求,查看右邊的statistics面板

 

5、【編寫自定義腳本:設置一定范圍內隨機抖動】
  進一步地,我們可以擴展CustomRules.js里的邏輯,參照Jscript的文檔可以在模擬惡劣環境中加入更多自定義的邏輯,這里實現了一個隨機延時量設置,使得網絡帶寬不是恆定為一個低速的值,而是會在一定范圍內隨機抖動:

static function randInt(min, max) {
return Math.round(Math.random()*(max-min)+min);
}
if (m_SimulateModem) {
// Delay sends by 300ms per KB uploaded.
oSession["request-trickle-delay"] = ""+randInt(1,50);
// Delay receives by 150ms per KB downloaded.
oSession["response-trickle-delay"] = ""+randInt(1,50);
}

【Fiddler模擬惡劣網絡環境的局限性】
  Fiddler進行限速較為簡單和靈活,配置也較為方便,但是由於它是一個應用層的HTTP的代理,只能模擬該層上的行為,對於一些復雜的網絡層的丟包、重傳等惡劣情況就不能很好的模擬出來,而且對於其他協議的應用也不支持,后續會介紹一些其他的模擬惡劣環境的方法和軟件來彌補這些缺失。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM