Fiddler弱网测试uni-app

10 篇文章 1 订阅
9 篇文章 0 订阅

本文仅代表个人意见,仅供参考

ABC小程序与uni-app小程序弱网测试报告

本文在弱网环境下,在页面请求完成耗时和页面加载完成耗时这两个维度,对现有ABC小程序(后面统一称ABC小程序)和uni-app改造后的ABC小程序(后面统一称uniapp小程序)做一些比较。

一、什么是弱网?

很多时候我们在地铁或者在电梯上浏览网页时,网页一直在转圈或者提示加载错误,这样的网络环境就可以称为弱网环境。按照移动的特性来说,一般应用低于2G速率的都属于弱网,也可以将3G划分为弱网。以下是常见的网络制式的上行、下行速度表:

根据以上速度表,我们会在弱2G和弱3G这个范围内用 10kb/s、100kb/s、300kb/s这三个速度做一下对比观察,并且每个速度下分别做2次测试。

二、测试工具Fiddler

因为ABC小程序里面嵌套了h5页面,微信开发者工具不能抓取到h5里面的请求,所以我们使用Fiddler抓包工具进行测试。Fiddler抓包不仅可以抓取h5里面的请求,同时可以对当前网络环境的速度进行限制,也就是提供了更精准的弱网测试环境。

以下是对Fiddler的一些参数说明:

1、弱网开关

勾选Simulate Modem Speeds即为开启弱网模式,Disable Cashing为禁用缓存

2、弱网参数设置

菜单Rules—>Cutomize Rules

上行(上传)默认是300毫秒,也就是上传1KB需要300毫秒,也即1Kb/0.3s = 3.3KB/s

下行(下载)默认是150毫秒,也即是下载1KB需要150毫秒,也即1Kb/0.15s = 6.6KB/s

上传速度不在这次测试范围,设置和下载速度一样

换算一下:

①要达到10kb/s,1Kb/0.1s= 10kb/s,需要设置下载1KB需要100毫秒

②要达到100kb/s,1Kb/0.01s≈ 100kb/s,需要设置下载1KB需要10毫秒

③要达到300kb/s,1Kb/0.0033s ≈ 300kb/s,需要设置下载1KB需要3.3毫秒

三、页面请求完成耗时数据统计

在Statistics面板下有几个数据需要关注,当页面所有请求完成后,按shift选中页面中所有的请求,最后的响应时间减去请求开始时间即为整个页面请求的时间,这个时间就是参考的对比时间,也就是Sequence(clock) duration代表的时间。

四、页面加载完成耗时数据统计

根据微信小程序官方文档对页面生命周期的介绍

https://developers.weixin.qq.com/miniprogram/dev/reference/api/Page.html

(1)onLoad:首次进入页面加载时触发

(2)onShow:加载完成后、后台切到前台或重新进入页面时触发

(3)onReady:页面首次渲染完成时触发

(4)onHide:从前台切到后台或进入其他页面触发

(5)onUnload:页面卸载时触发

①从首次进入页面onLoad到页面首次渲染完成onReady这一持续时间,可以作为判断页面加载渲染快慢的一个测试数据。

onReady - onLoad = 页面渲染完成的持续时间(从进入页面到页面渲染完成之间的时间)

②因为ABC小程序内嵌了h5页面,和uni-app原生页面存在差异,所以ABC小程序h5页面加载的成功的时间也需要做一下统计,在官网文档中提供了bindload回调方法。

https://developers.weixin.qq.com/miniprogram/dev/component/web-view.html

onLoad - bindload = webview加载时间(从进入页面到webview加载成功之间的时间)   

五、对比步骤

①以政策大厅以及政策详情这两个页面作为测试页面

②进入小程序首页

③清空所有页面缓存,network设置Disable cache禁用缓存

④刷新首页

⑤打开Fiddler弱网开关并设置禁用缓存

⑥点击政策大厅,再点击政策详情。

⑦观测页面并记录数据

⑧完成测试

六、测试数据对比

次数:每个网络环境,每个项目分别测试2次

环境:uat内网环境

缓存:禁用缓存

(一)政策大厅页测试数据(单位:秒)

网络

项目/次数

页面加载

完成时间

Webview加载

完成时间

请求响应

总时间

10kb/s

ABC小程序第1次

1.11

2.44

114

ABC小程序第2次

1.21

3.57

116

uni小程序第1次

0.31

31.25

uni小程序第2次

0.24

31.05

100kb/s

ABC小程序第1次

0.55

1.79

30.8

ABC小程序第2次

1.15

2.0

31.24

uni小程序第1次

0.28

8.11

uni小程序第2次

0.26

8.17

300kb/s

ABC小程序第1次

0.52

1.71

30.55

ABC小程序第2次

1.24

2.17

31.12

uni小程序第1次

0.33

7.87

uni小程序第2次

0.34

7.92

不限速

ABC小程序

0.65

1.92

4.23

Uni小程序

0.32

1.47

(二)政策详情页测试数据(单位:秒)

网络

项目/次数

页面加载

完成时间

Webview加载

完成时间

请求响应

总时间

10kb/s

ABC小程序第1次

2.54

4.36

142

ABC小程序第2次

1.52

2.88

160

uni小程序第1次

0.76

51.82

uni小程序第2次

0.39

51.42

100kb/s

ABC小程序第1次

1.08

1.91

44.62

ABC小程序第2次

1.09

1.94

43.15

uni小程序第1次

0.44

15.31

uni小程序第2次

0.40

15.12

300kb/s

ABC小程序第1次

1.07

1.86

43.08

ABC小程序第2次

1.38

2.20

43.12

uni小程序第1次

0.44

15.63

uni小程序第2次

1.85

15.20

不限速

ABC小程序

1.20

2.01

4.56

Uni小程序

0.42

3.61

七、结论

(一)ABC小程序嵌套h5的模式,在遇到一些大文件下载时,会造成页面阻塞,只有等待资源加载完毕后页面才展示,有一个长时间的白屏等待过程。

(二)uni-app改造后的小程序,在页面加载速度和接口响应速度方面,对比嵌套h5有比较大的提升。

(三)字体文件对h5页面加载速度和页面请求速度有比较大的影响,后续需要优化字体文件的加载。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值