我正在使用Fiddler,想要模拟不同的网络速度
是否有任何已发布的数据可供我使用延迟值来模拟不同的速度?
以下是 Fiddler 模拟 56kb 调制解调器速度的默认代码。
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";
}
我想要 256kbps、512kbps、1Mbps 等的延迟值...
这只是一道数学题。
假设内容立即可用(例如,您从自动回复器中播放内容),则唯一的延迟由 request-trickle-delay 和 response-trickle-delay 标志控制。
每秒有1000毫秒。
因此,如果您想将连接控制为每秒 1 兆字节,则需要使用 1 毫秒的延迟。如果您想将其门控到每秒512千字节,则使用2毫秒的延迟。对于每秒 256 千字节,请使用 4 毫秒的延迟。
请记住,带宽通常以每秒位而不是每秒字节来衡量。因此,如果您的目标是以每秒位数 为单位进行测量,则将每个值乘以 8。
我对 EricLaw 推荐的请求滴流延迟和响应滴流延迟进行了更改。 我使用 SpeedTest.Net 来验证我所做的更改。 他们并不完美匹配。 例如,我预计如果将 Trickle Delay 值设置为 8,我将获得 1 Mbps 的下载速度,但实际上只有 2.05 Mbps。 根据 EricLaw 的回答,至少我能够识别出一种模式。 谢谢埃里克。
每次更改 Fiddler CustomerRule.js 文件后,我都会重新启用“模拟调制解调器速度”。 仅供参考,当您对 CustomerRule.js 文件进行更改时,“模拟调制解调器速度”将被禁用。所以您必须重新启用该设置。
我添加了一些来自 SpeedTest.net 的结果图像。
以下是每次设置更改的结果:
Fiddler 设置
这里我将 request-trickle-delay 和 response-trickle-delay 设置为 16。如您所见,我收到了 1.03 Mbps
这里我将 request-trickle-delay 和 response-trickle-delay 设置为 32。如您所见,我收到了 0.52 Mbps
旧帖子,但我想在这里添加一些信息,以使 Fiddler 节流更加用户友好。我们将在规则下创建一个新菜单,并提供一系列调制解调器速度可供选择。
单击规则 -> 自定义规则选项
搜索
m_SimulateModem
的声明,如下所示:
public static var m_SimulateModem: Boolean
并将其替换为
RulesString
。
// Cause Fiddler Classic to delay HTTP traffic to simulate typical modem conditions
public static RulesString("Simulate &Modem Speeds", true)
BindPref("fiddlerscript.ephemeral.ModemSpeed")
RulesStringValue(0,"5&6 kbps", "56")
RulesStringValue(1,"&128 kbps", "128")
RulesStringValue(2,"&256 kbps", "256")
RulesStringValue(3,"&512 kbps", "512")
RulesStringValue(4,"1 &mbps", "1m")
var m_SimulateModem: String = null;
再次搜索规则中的
m_SimulateModem
,我们正在寻找应用trickle的if
语句。删除 if
块并将其替换为以下 case 语句:
switch (m_SimulateModem) {
case "56": // 56kbps
oSession["request-trickle-delay"] = "760";
oSession["response-trickle-delay"] = "440";
break;
case "128": // 128kbps
oSession["request-trickle-delay"] = "380";
oSession["response-trickle-delay"] = "220";
break;
case "256": // 256kbps
oSession["request-trickle-delay"] = "190";
oSession["response-trickle-delay"] = "110";
break;
case "512": // 512kbps
oSession["request-trickle-delay"] = "95";
oSession["response-trickle-delay"] = "55";
break;
case "1m": // 1 mbps
oSession["request-trickle-delay"] = "46";
oSession["response-trickle-delay"] = "27";
break;
case null:
default:
break;
}
保存您的规则文件。您现在可以在
Rules -> Simulate modem speeds
下找到一个包含各种限制选项的选项:
这些数字已使用速度测试进行调整,以接近现实生活中所需的速度。
奖励积分:尝试以 56kbps 的速度浏览您最喜爱的互联网网站。