启动性能分析

启动性能分析

小程序启动是小程序用户体验中极为重要的一环,启动耗时过长会造成小程序用户流失,影响用户体验。 一般来说优化小程序启动性能,是针对耗时更长的 冷启动 性能进行优化。

而在小程序启动流程中,代码包准备、小程序代码注入和首页渲染耗时是与小程序本身相关的,开发者可以进行一定的优化工作。

在冷启动中,两种最常见用户场景是:

  • 用户首次访问(需下载代码包)
  • 用户非首次访问(已下载代码包)

启动性能分析专项测试,通过多次测试以上两种情况,分析小程序在以上三个阶段的启动耗时情况,帮助用户针对性的提升启动性能。

为了让用户多多体验启动性能分析能力,每个项目可首次免费提测启动性能分析任务。

快速开始

进入云测服务后,在页面的右上方点击 新建任务,测试类型选择 启动性能分析,选择测试平台,点击立即创建即可创建新的任务。

任务启动后,会分别执行10次用户首次访问以及非首次访问的小程序启动情况,用户可以通过查看报告看到启动性能测试详细情况。

img

查看报告

任务结束后,用户可以通过在测试任务页面直接点击查看报告按钮进入报告页面。

报告详细展示了用户首次访问(需下载代码包)以及用户非首次访问(已下载代码包)两种情况的测试结果,并通过时序图展示了平均耗时情况分布,让用户可以清晰看到耗时分布情况,找到性能瓶颈

此外,报告还给出了优化建议,帮助用户针对性地提升小程序启动性能。

详情可参考启动性能报告示例

img

进阶使用--支持分析指定页面

启动性能分析一般是分析小程序首页的性能。现在云测也支持分析用户指定的页面,具体使用方法如下:

1. 在测试计划中,配置指定页面信息

用户可以在左侧导航栏中,可前往 测试用例管理 => 测试计划 ,新增指定页面的测试计划

img

2. 提交任务时,选择指定测试计划

在提交测试任务时,选择在步骤1中配置的测试计划

img

3. 查看报告

测试报告中,支持用户查看配置页面信息

此外,用户可以通过 分次拉起小程序详情 中的 拉起后截图,查看页面截图

img

改进建议

一般来说,开发者可以利用下表中提到的几个方面,对启动性能进行优化

关键指标 优化建议
代码包准备 使用分包加载 避免使用非必要的全局自定义组件和插件 压缩资源文件或将资源文件放到CDN 删除没有使用的文件或者模块
代码注入 开启按需加载 减少生命周期中的同步API调用 避免进行复杂的运算逻辑
首页渲染 初始渲染缓存 避免引用未使用的自定义组件 精简首屏数据 提前首屏数据的请求 缓存请求数据 使用骨架屏

云测也将性能诊断工具能力集成进来

该工具还在内测阶段,希望体验的同学,欢迎加入云测企微群,联系群主开通。

开通后,将在 小程序质检报告中的启动性能环节,有更详细的改进建议。

常见问题

1. 为什么我的启动性能数据,和We分析有一定差距?

云测的启动性能数据,是单次测试结果的整合,We分析是小程序所有线上版大盘数据的平均,所以两者有一定的差距是正常的

2. 为什么体验版/开发版的启动耗时,比线上版会高很多?

小程序体验版和开发版的启动的流程不同,代码包下载、小程序代码注入和首页初次渲染的每个环节都有一定差异,两者没有对比的意义。

详情可参考 小程序启动流程 中的常见问题

一般来说,云测建议开发者在新版本发布后,用线上版启动性能去和旧版本对比,准确度会高一些

3. 启动耗时的时序图中,为什么不是从0开始?中间有很多缺失的阶段,在做什么?

完整的启动流程,可以在 小程序启动流程 中,有详细的描述。

从流程图中可以看出,整个过程远远不止代码包下载、小程序代码注入和首页初次渲染这三个阶段。

启动性能报告之所以只展示这三个阶段,是因为这三个阶段耗时是与小程序本身相关的,开发者可以进行优化的

在时序图中缺失的部分,是微信客户端和基础库进行的初始化工作,开发者无法修改,报告中也没有展示。

例如从启动流程中可以看出,代码包下载前,还需要从微信后台获取小程序基本信息、代码包地址等操作,所以真正开始下载代码包肯定不是从0ms开始

4. 为什么启动总耗时数据,比代码包下载耗时 + 代码注入耗时 + 首页初次渲染耗时大很多?

从常见问题3中可以知晓,启动整个流程远不止这三个阶段,所以 “启动总耗时” 与 “代码包下载耗时 + 代码注入耗时 + 首页初次渲染耗时”之间并不存在必然关联

5. 为什么每次下载代码包耗时会有不同?甚至差距还比较大?

影响下载代码包下载速度的主要是手机连接WIFI当前的网速,以及代码包CDN缓存位置

因为云测是真机测试,真机的网速并不是恒定的,有差距,甚至差距比较大,是正常的

所以云测每次做启动性能测试时,会尽量拉取多次取平均值,来平衡网速的差异

如果发现差距大,也可以多重跑几次数据看看,如果仍有问题,欢迎在帮助页面中,扫码加入云测官方企微群,联系群主反馈。

需要帮助

如果你任何建议或需求,欢迎前往 需要帮助 页面,扫码加入云测官方企微群,联系群主反馈。

posted on 2025-01-17 08:46  AtlasLapetos  阅读(44)  评论(0)    收藏  举报