Fiddler弱网测试流程

Fiddler 如何做弱网测试

前言:限速原理

是以网络延迟的方式实现的,网络延迟时间*网速=传输字节数

实现方式

点击Rules – Customize Rules(快捷键Ctrl + R)打开Fiddler ScriptEditor,或者直接点开右侧主页签的FiddlerScript

方法1

# 在代码里找到onBeforeRequest,这里定义了在发送请求前做什么。加入如下代码可以实现延迟:
oSession["request-trickle-delay"]="3000";  //请求阶段延迟3秒
oSession["response-trickle-delay"]="3000";  //响应阶段延迟3秒

方法2

Ctrl + F 查找m_SimulateModem标志位,可以看到如下代码,修改配置后,勾选了Simulate Modem Speeds(Rules - Performance - Simulate Modem Speeds)时,request-trickle-delay与response-trickle-delay就会被设置,每次设置后都需要重新勾选

说明:request-trickle-delay中的值代表每KB的数据被上传时会被延时多少毫秒;response-trickle-delay则对应下载时每KB的数据会被延时多少毫秒。比如你要模拟上传速度100KBps的网络,那上传延迟就是1KB/100KBps=0.01s=10ms,就改成10。

默认设置下上传延时
1Mbps = 128 KB/s = 0.125MB/s
上传带宽 = 1KB/300ms = 1/128/0.3 Mbps ≈ 0.027Mbps
下载带宽 = 1KB/150ms = 1/128/0.15 Mbps ≈ 0.053Mbps

方法3 - (随机延时量设置)

# 使得网络带宽不是恒定为一个低速的值,而是会在一定范围内随机抖动,修改配置后,勾选了Simulate Modem Speeds,即生效:
# 添加位置,附图
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);
}


拓展(Bit和Byte的区别)

拓展(带宽与流量的区别)

以上参考和转载博文:https://www.jianshu.com/p/b9e349b8f411 ; https://www.jianshu.com/p/492a1564d16d ; https://www.jianshu.com/p/f417d328e0df
如有侵权,联系删除

原文地址:https://www.cnblogs.com/luckyqh/p/13031000.html