原文鏈接:http://caibaojian.com/fiddler.html
fiddler模擬限速的原理
via我們可以通過fiddler來模擬限速,因為fiddler本來就是個代理,它提供了客戶端請求前和服務器響應前的回調接口,我們可以在這些接口里 面自定義一些邏輯。Fiddler的模擬限速正是在客戶端請求前來自定義限速的邏輯,此邏輯是通過延遲發送數據或接收的數據的時間來限制網絡的下載速度和 上傳速度,從而達到限速的效果。
他提供了一個功能,讓我們模擬低速網路環境…啟用方法如下:
Rules → Performances → Simulate Modem Speeds (如下圖)原文來自:http://caibaojian.com/fiddler.html
勾選之后,你會發現你的網路瞬間慢超多…
(想當年國中時我們的網路速度也是一路降子走來啊…)
如果你覺得模擬的速度慢到一個爆炸,不Make Sense 的話…
你也可以自己定義Modem Speeds 究竟要多快…
點開Rules → Customize Rules (如下圖)
找m_SimulateModem這個字,你會找到下面這段:
這就是他模擬網路速度的原理,每上傳/下載1KB 要delay 多久…
如果你習慣用kbps 去算的話,那么我們的算法就是 1000/下載速度 = 需要delay的時間(毫秒),比如50kb/s 需要delay20毫秒(1kb/(50kb/s)=0.02s=20ms)來接收數據。
//code from http://caibaojian.com/fiddler.html // Delay sends by 300ms per KB uploaded. oSession["request-trickle-delay"] = "300"; // Delay receives by 150ms per KB downloaded. oSession["response-trickle-delay"] = "150";
請注意,當你存檔之后,原本已經勾選的Simulate Modem Speeds 會被取消勾選,
要記得再到Rules → Performances → Simulate Modem Speeds 勾選喔~
同場加映:讓Fiddler 只針對某個Process 進行Debugging
以Windows 為例,Fiddler 開了之后,只要是走IE 下「網際網路選項」的程式(IE, Chrome)
預設所有流量都會經過Fiddler
如果你覺得你在模擬低速網路連網頁時,不想影響其他程式…
你可以指定Fiddler 只針對某Process Debug...
方法為,把Fiddler 視窗中,那個很像靶心的東西給拉到你要Debug 的程式上(如下圖)
被你靶心拉到的程式,在一瞬間會有「觸電」的感覺如下圖XD
放開滑鼠后,Fiddler 就只會監控你指定的Process 啰~