1、模擬弱網環境
打開Fiddler,Rules->Performance->勾選 Simulate Modem Speeds,勾選之後訪問網站會發現網絡慢了很多
2、Fiddler弱網的原理
Rules—>Cutomize Rules打開CustomRules.js 文檔
在文件中搜索關鍵字,m_SimulateModem
1.
// Cause Fiddler to delay HTTP traffic to simulate typical 56k modem conditions
public static RulesOption("Simulate &Modem Speeds", "Per&formance")
var m_SimulateModem: boolean = false;
2.
if (m_SimulateModem) {
// Delay sends by 300ms per KB uploaded.
oSession["request-trickle-delay"] = "300";
// Delay receives by 150ms per KB downloaded.
oSession["response-trickle-delay"] = "150";
}
讓我們來分析一下這幾行代碼:
-
首先來判斷m_SimulateModem是否爲true,也就是是否設置了弱網模式。
-
如果爲弱網模式。則分析代碼
-
oSession[“request-trickle-delay”] = “300”; 註釋的也很明白,Delay sends by 300ms per KB uploaded.上傳1KB需要300ms,
轉化一下上傳速度:1Kb/0.3s = 10/3(KB/s),也就是 3.33kb/s ,到達2G網絡標準。
-
如果你想設置上傳的速度爲50KB/s,你則需要設置Delay 時間爲 20ms
-
同樣的方法,也可以限制上傳的速度,調整oSession[“response-trickle-delay”]即可。
網絡 | 上行 | 下載 |
2G | 2.7K | 9.6K |
3G | 1.8M | 7.2M |
4G | 50M | 100M |
所以得出:2G網絡配置
if (m_SimulateModem) {
// Delay sends by 300ms per KB uploaded.
oSession["request-trickle-delay"] = "300";
// Delay receives by 150ms per KB downloaded.
oSession["response-trickle-delay"] = "150";
}
3G 網絡配置,3G 應該是2G網絡估值的1000倍速率,也就是上行和下載除去1000。
if (m_SimulateModem) {
// Delay sends by 300ms per KB uploaded.
oSession["request-trickle-delay"] = "0.3";
// Delay receives by 150ms per KB downloaded.
oSession["response-trickle-delay"] = "0.15";
}
4G網絡配置,上行爲3G的25倍,下載爲15倍,放開延遲即可。