|
一.fiddler模拟低速网络环境
1.通过延迟发送数据或接收数据的时间来限制网络的下载速度和上传速度,从而达到限速的效果。
2.具体实现:fiddler提供了一个功能,让我们模拟低速网络环境。
启用方法如下:
Rules → Performances → 勾选Simulate Modem Speeds。如图:
勾选之后,会发现网络慢下来好多。至于慢下来后网络速度是多少,则由CustomRules.js 文件中自定义的规则
控制的:
点开Rules → Customize Rules,如图:
然后自动打开一个CustomRules.js文件,里面有各种自定义的规则。其中有这么一段:
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";
}
这就是fiddler模拟网络速度的原理,意思是每上传/下载1KB的数据要delay多久。具体值可以修改,我们可以进
行自定义限速:
计算公式:(1KB/下载速度)*1000 = 需要delay的时间(毫秒),比如50kB/s的网速需要delay20毫秒来接收数据,
所以根据你需要的网络速度来修改上述值。
下面以模拟2G网络为例:2G网的上行速度为2.7Kb/s,下行速度为9.6Kb/s,那么我们在fiddler里设置的对应延迟
分别为2962ms和833ms(1KB=8Kb)。
【注】:定义完数据保存之后,已经勾选的SimulateModem Speeds会被取消,按照上面的步骤再次将其勾选
即可。
fiddler设置完毕后,接下来就是设置手机代理IP和端口了,手机的上网速度就跟着慢了下来。
二.charles模拟慢网速
charles可以模拟不同的网络,比如2G,3G,还可以自定义设置网络速度,用来模拟慢网速。
1.使用方法如下:
开启网速模拟,主菜单Proxy——Throttle Settings,如下图:
配置:打开throttle settings页面,可选择内置的一些带宽设置,如:
也可以自定义设置:通过设置上下行的带宽和往返延迟来模拟自己需要的网速,
设置保存后,可以看到主界面的小红旗处于工作状态
可以通过点击小红旗按钮 开启/禁止慢网速功能
最后进行手机代理设置。
2.缺点:Charles是收费软件,可以免费试用30天。试用期过后,未付费的用户仍然可以继续使用,但是每次
使用时间不能超过30分钟,并且启动时将会有10秒种的延时,使用起来会有很多不方便。
3.破解:Charles是收费软件,需要破解。官网下载的3.11.2版本,我的破解是下载charles.jar替换原来的jar包
(路径:C:\Program Files\Charles\lib/charles.jar)。
charles.jar下载地址:http://pan.baidu.com/s/1i3Qt24H
三.手机自带的模拟网络功能
iOS: Network Link Conditioner
iOS自带的模拟网络功能,可以让用户模拟不同的网络连接和带宽,可供iOS开发者测试自己的程序在不同网
络环境下的表现。但是没有发现Android具备此功能,下面只介绍iOS的具体使用情况。
操作步骤:
打开iphone→设置→开发者
打开Network Link Conditioner,在Profile中包含预置的几种网络环境,包含3G,DSL,Edge,Wifi等,每种网络环
境对应不同的上下行带宽,丢包率和网络延迟,DNS延迟。
还可以根据需要自定义不同的网络环境,例如点击下方add a profile后可进入管理Profiles窗口,在其中可定
义自己需要的Profile。
把enable按钮打开,即启动了网络模拟器。此时就可以测试APP在此种环境下的运行情况了。在测试完毕时,
记得停止Network Link Conditioner,不然上网的速度会一直被限制哦。
|
|