弱网测试原理以及方法(一)
一、为什么要进行弱网测试?
按照移动特性,各种网络连接协议不同,导致通信的信号不同,速率也不同,影响应用的加载时间、可用性、稳定性
二、什么样的网络属于弱网?
低于2g速率的时候都属于弱网也可以将3g划分为弱网 一般wifi不纳入弱网测试范围。
三、如何进行弱网测试?
1.SIM卡的网络切换手机-设置-移动网络设置-网络类型选择
3G卡有3种模式:1.只使用2G网络 2.只使用3G网络 3.3G网络优先
根据手机型号的不同,上面的选项可以会稍有变化。
因为电信、移动、联通的速率各不相同所以可以取速率最低的值进行测试。
2. 使用虚拟机模拟网络速率
3. 使用Fiddler来进行网络代理。
3.1.开启弱网
打开Fiddler,Rules->Performance->勾选 Simulate Modem Speeds,勾选之后访问网站会发现网络慢了很多
3.2.Fiddler弱网的原理
Rules—>Cutomize Rules打开CustomRules.js 文档
在文件中搜索关键字,m_SimulateModem
网络取值的算法就是 1000/下载速度 = 需要delay的时间(毫秒),比如50kb/s 需要delay200毫秒来接收数据。
让我们来分析一下这几行代码:
-
首先来判断m_SimulateModem是否为true,也就是是否设置了弱网模式。
-
如果为弱网模式。则分析代码
-
oSession[“request-trickle-delay”] = “300”; 注释的也很明白,Delay sends by 300ms per KB uploaded.上传1KB需要300ms,转化一下上传速度:1Kb/0.3s = 10/3(KB/s)
-
如果你想设置上传的速度为50KB/s,你则需要设置Delay 时间为 20ms
-
同样的方法,也可以限制上传的速度,调整oSession[“response-trickle-delay”]即可。
设置完成后,清空原有的log,并使用你的app进行弱网条件下的操作,
选择第一个请求和最后一个请求,可获得整个页面加载所消耗的总体时间。从条形图表中还可以分别出哪些请求耗时最多,从而对页面的访问进行访问速度优化
如下图:
不同请求耗时多少的图形表,获取那种资源耗时最大,进而进行优化:
如下图