我想将以下代码添加到fiddler:
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(var m_SimulateModem: boolean = true;
),但我不知道哪个事件我应该添加上面的代码片段。
我尝试在static function OnBeforeRequest(oSession: Session)
中添加它,但似乎没有做任何事情。
基本上,我想模拟一个非常低的速度,以便任何浏览器使用返回连接已超时或ERR_CONNECTION_TIMED_OUT
。
Fiddler Performance Testing guide明确指出request-trickle-delay
必须用于OnBeforerequest
:
模拟调制解调器上传(添加到
OnBeforeRequest
功能)`oSession["request-trickle-delay"] = "300";`
而response-trickle-delay
必须在OnBeforeResponse
中使用:
要测试应用程序性能,请使用FiddlerScript将规则添加到OnBeforeResponse函数中(除非另有说明)。例如:
oSession["response-trickle-delay"] = "150";
但是我假设使用这两种设置你不会强迫你的浏览器遇到ERR_CONNECTION_TIMED_OUT
。
300
的设置意味着每300毫秒一KB,因此我们最终以每秒3KB或约2400KBit的速度结束。这是20世纪最后十年的一个好老调制解调器的连接速度。这可能需要一些时间,但只要数据流连续传递,所有请求都将起作用。
当客户端尝试联系服务器但服务器未响应TCP请求时(例如,因为端口未侦听或服务器被过多流量阻止),会发生连接超时。
最简单的模拟方法是使用现有服务器并重写服务器端口,以便请求超时,因为没有服务器侦听指定端口:
// make requests to www.example.org end up in a connection time-out
if (oSession.HostnameIs("www.example.org")) {
oSession.hostname="www.example.org:12345";
}