4.fiddler模拟低速网络环境
Fiddler的模拟限速是通过延迟发送数据或接收的数据的时间来限制网络的下载速度和上传速度,从而达到限速的效果。
A.自定义速度
Rules》Customize Rules
计算公式:(1KB/下载速度)*1000 = 需要delay的时间(毫秒),比如50kB/s 需要delay20毫秒来接收数据,所以根据你需要的网络速度来修改上述值。
if (m_SimulateModem) {
// Delay sends by 300ms per KB uploaded.
oSession["request-trickle-delay"] = "300"; //3.34kB/s
// Delay receives by 150ms per KB downloaded.
oSession["response-trickle-delay"] = "150"; //6.67kB/s
}
B.开启限速
Rules》Performances,勾选Simulate Modem Speeds
C.不同网络上下行速度设置可以参考Network Link Conditioner
2G:上行440ms delay(1000/440=2.3KBps=18kpbs),下行400ms delay(1000/400=2.5KBps=20kpbs)
3G:上行100ms delay(1000/100=10KBps=80kpbs),下行100ms delay(1000/100=10KBps=80kpbs)
5.网络耗时分析
两张典型的耗时图,https比http多了SSL Handshake(即SSL握手)
A:http请求
B:https请求
Total = Blocked + DNS Lookup + Connect(建立TCP连接)+ SSL Handshake(可选) + Send + Wait + Receive + Cache Read (可选)+ Render(解析HTML构建DOM树》渲染树构建》渲染树布局》绘制渲染树 )。
Network = DNS Lookup + Connect + SSL Handshake(可选) + Send + Wait + Receive。
TTFB (Time To First Byte),首字节时间,是最初的网络请求被发起到从服务器接收到第一个字节这段时间,它包含了 TCP连接时间,发送HTTP请求时间和获得响应消息第一个字节的时间。
Blocked对于H5容器来讲,包括启动和初始化容器时间(入口白名单检查会阻塞页面加载,验证通过后才开始加载页面资源,H5容器测试会关注)。
注:业务测试同学重点关注弱网下的Network