微信小程序开发人员如何优化小程序性能呢?可以使用微信推出的“小程序测速”功能。这个功能可以简单方便地统计小程序内某一事件的实时耗时情况,并可根据地域、运营商、操作系统、网络类型、机型等关键维度进行实时交叉分析。那下面跟小编一起来了解下小程序测速功能的使用方法。

首先开发者需要在基础库2.9.2版本以上,可以通过“测速上报”接口上报某一指标的耗时情况,然后可以在小程序管理后台的“开发-运维中心-小程序测速”查看各指标耗时趋势,并支持分钟级数据实时查看。

微信小程序测速功能

创建监控ID

1、在小程序管理后台的“开发-运维中心-小程序测速”中新创建监控ID,并填写监控指标的名称和解释,也就是需要先定义监控指标。

创建监控ID

监控指标分为两类:

网络请求类:此类耗时主要受网络环境影响,包含操作系统、运营商、网络环境、地区等统计维度。如:网络API耗时、云调用耗时、网络数据读写耗时等。注意此类指标最多可创建20个。

加载/渲染类:此类耗时主要受设备性能影响,包含操作系统、机型类别等统计维护。可以用来测量页面切换耗时、组建渲染耗时等。注意此类指标最多可创建20个。

2、新建后,可以看到上报需要使用的监控ID。

测速配置

小程序测速上报方法

监控ID创建后,还需要在小程序代码中调用wx.reportPerformance接口上报耗时数字,才能实现耗时监控。有两种方法:

方法1:使用canIUse进行判断

// * 需要使用 canIUse 判断接口是否可用
if (wx.canIUse(‘reportPerformance’)) {
wx.reportPerformance(id, val)
}

方法2:使用compareVersion 进行判断

// * 需要先使用 compareVersion 判断接口是否可用
const sdkVersion = wx.getSystemInfoSync().SDKVersion
if (compareVersion(sdkVersion, ‘2.9.2’) >= 0) {
wx.reportPerformance(id, val)
}

id 和 val 均为 uint32 类型,其中 id 为小程序管理后台定义的监控 ID,val 为本次要上报的耗时数值(由开发者自行计算)。接口调用需要基础库的版本号高于 2.9.2,否则在一些低版本基础库可能报错。

小程序测速数据观察

完成代码上报后,可在小程序管理后台”开发 -运维中心 -小程序测速” 查看各指标耗时趋势。目前线上数据约有15分钟数据时延,上报数据保留 7 天,可按照 1 分钟 – 1 小时等不同的时间粒度进行聚合。

平均值和上报次数两条曲线

每个指标可以观察到平均值和上报次数两条曲线

交叉对比功能

交叉对比功能(不能超过10条)

地域资源监控

查看不同地域网络请求类指标

微信小程序测速上报功能可以测量网络类指标(如网络调用/云调用耗时、网络数据读写速度等)和非网络类指标(页面切换加载速度、组件渲染速度等),开发者可以查看这些指标在不同维度下的数量分布和性能差异。适用于一些计算视频首屏时延、帧率等场景。