淘宝用户体验分析 淘宝体验红包是什么( 二 )


业务数据请求耗时长

  • 旗舰店小程序接入数据预取 , 店铺框架数据请求耗时基本降为0 , 阶段跳失/白屏基本降至0 。

    淘宝用户体验分析 淘宝体验红包是什么

    文章插图

    最佳实践之:小程序引擎实例复用和预启动
    淘宝用户体验分析 淘宝体验红包是什么

    文章插图

    小程序进程启动后 , 在空闲时机 , 会初始化并保留有且仅有一个通用的小程序 Engine 环境(与业务无关) , 直到小程序进程被杀死;
    在运行过程中 , 小程序 Engine 实例会在3个状态之间切换:
  • 可运行:小程序进程启动后 , 新创建的小程序Runtime环境为”可运行“状态;
    运行中:小程序业务启动时 , 将状态为”可运行“的实例取出使用 , 状态变为“运行中;
    重置中:小程序业务关闭后 , 将使用过的实例取出 , 状态变为”重置中“;状态重置完毕后 , 变为”可运行“状态 , 供下个小程序使用 。
    最佳实践之:数据预取2.0
    根据小程序性能模型分析 , 在小程序启动过程中 , Worker启动总是快于Render完成(Worker 处于空闲状态) , Worker 空闲时长分布如下:
    可以看出 , 线上有92.2%的概率会发生Worker闲置 , 闲置时长集中在300-500ms , 可以完成1-2次网络请求;
    闲置 Worker 具备了完备的小程序 JS 执行能力 , 可在受限范围内执行小程序 JSAPI , 发送网络请求获取定位信息/系统信息等;
    【淘宝用户体验分析 淘宝体验红包是什么】
    淘宝用户体验分析 淘宝体验红包是什么

    文章插图

    动态预取优点
  • 灵活:环境具备JS执行能力 , 更灵活
    丰富:提供受限的 JSAPI 调用能力
    安全:支持权限管控 , 面向三方开放更安全
    最佳实践之:基于模板的快照渲染
    快照渲染能够提升页面二次打开性能 , 但在旗舰店场景下存在如下弊端:
  • 数据真实性:快照渲染使用了上次打开时的老数据 , 会先展示旧内容再刷新;
    磁盘占用和命中率:旗舰店属于模板类小程序 , 有百万数量级的实例化小程序 , 快照渲染会为每家店铺生成不同的快照文件;庞大的基数条件下 , 再考虑磁盘占用建立的淘汰机制 , 使得快照命中率较低;
    长尾问题:访问频次较低的长尾店铺 , 同一用户二次访问的概率较低 , 无法命中快照;
    为解决上述问题 , 实现了”基于模板的快照渲染(Template Snapshot)“ 。基于模板小程序生成快照文件并将数据剔除 , 在快照渲染时 , 配合数据预取将真实数据插入模板中 。既能保证数据真实性 , 同时可让所有店铺共享同一快照文件 , 最大限度的提高快照命中率和降低磁盘占用 。

    淘宝用户体验分析 淘宝体验红包是什么

    文章插图

    工具和平台
    建立标准化运维数据 , 输出到不同场景 , 贯穿整个研发和上线流程:
    工具侧:提供性能调试工具 , 帮助开发者快速分析和解决问题
    发布卡口:设置发布前质量卡口和静态扫描 , 避免业务带病上线
    线上监控:通过小程序运维平台 , 承担日常高可用数据的监控和告警职责

    淘宝用户体验分析 淘宝体验红包是什么

    文章插图

    数据效果
    经历漫长的优化周期 , 数据结果上 , 淘宝小程序大盘T2指标由 2.7s优化至1.9s;旗舰店首屏大盘从 4s+提升至1.8s 。
    淘宝用户体验分析 淘宝体验红包是什么

    文章插图

    同时 , 为了验证体验优化对业务数据的正向效果 , 对旗舰店业务做了分桶实验 , 数据证明也收获了不错的业务效果 。