自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

淘寶小程序體驗優(yōu)化:數(shù)據(jù)分析和優(yōu)化實踐

開發(fā) 新聞
體驗優(yōu)化是個老生常談的話題,如何讓小程序跑得又穩(wěn)又快,成了我們最大的挑戰(zhàn)之一。

寫在前面

如何定義好的體驗

過去我們定義這個問題,更多的是從頁面加載速度和流暢度去解釋,但這還遠遠不夠。加載速度的提升是否讓用戶更愿意“玩”了,流暢度提升是否也提升了模塊曝光和成交。

為了有更立體的衡量標(biāo)準(zhǔn),有了如下設(shè)想:頁面加載速度和流暢度提升(技術(shù)視角)-> 用戶跳失率下降(用戶視角)-> 商品曝光和點擊上漲(平臺視角)

困境

下面是一些 TOP 二、三方業(yè)務(wù)的性能數(shù)據(jù)(數(shù)據(jù)取自2020年5月),可以說比較糟糕。(“跳失”的定義為:用戶打開小程序后,頁面渲染未完成或未達到產(chǎn)生交互的條件就退出頁面)

  • 復(fù)雜的技術(shù)架構(gòu)

小程序在邏輯/渲染分離的架構(gòu)下,保證了開放安全的同時,也引入了更大的性能挑戰(zhàn)。

  • 三方生態(tài)的質(zhì)量和安全

小程序是淘寶開放體系中的重要一環(huán),面向商家和外部開發(fā)者,給研發(fā)質(zhì)量保障、數(shù)據(jù)安全帶來了更大挑戰(zhàn)。

  • 衡量指標(biāo)單一

過去我們定義這個問題,更多的是從頁面加載速度和流暢度去解釋,但這遠遠不夠。

破局

通過運維數(shù)據(jù)標(biāo)準(zhǔn)化,貫穿研發(fā)->發(fā)布->上線流程,形成數(shù)據(jù)閉環(huán):

  1. 數(shù)據(jù)采集:定義采集算法、數(shù)據(jù)模型,形成一套標(biāo)準(zhǔn)化運維數(shù)據(jù)
  2. 運維平臺:連接二/三方開發(fā)者,提供數(shù)據(jù)透出和回流能力,定義監(jiān)控&卡口規(guī)則
  3. 數(shù)據(jù)分析:科學(xué)的數(shù)據(jù)分析方法論,有實驗、有數(shù)據(jù)、有證據(jù)
  4. 效能工具:打通研發(fā)基礎(chǔ)設(shè)施,賦能開發(fā)者

數(shù)據(jù)采集

T2(首屏算法)

阿里集團小程序?qū)R了首屏加載衡量口徑,采用UC內(nèi)核的T2首屏算法,T2指標(biāo)定義為 從頁面開始加載到頁面首次渲染滿屏內(nèi)容的時間。簡單說,是在頁面加載的過程中,記錄所有的渲染幀,待頁面加載結(jié)束之后,回溯檢查每一幀,圖片渲染面積首次達到最大值的一幀記為T2。

小程序性能模型

為了把小程序啟動性能進行分階段拆解,定義了小程序性能模型,從小程序啟動開始到首屏渲染完成結(jié)束,拆解成了:Downloading(資源請求:元信息請求和包下載)、Launch(容器啟動和小程序Runtime啟動)、Rending(業(yè)務(wù)邏輯執(zhí)行和渲染)

同時,面向小程序開發(fā)者提供了標(biāo)準(zhǔn)的 Web API performance.mark(),支持開發(fā)者自定義打點。

通過分析各階段耗時,可以較為清晰的發(fā)現(xiàn)性能瓶頸。

數(shù)據(jù)分析和優(yōu)化實踐

篇幅有限,僅分享幾個經(jīng)典案例。

頁面性能與用戶跳失的關(guān)系

根據(jù)小程序加載性能和用戶跳失的直方圖,能更直觀的分析出小程序加載性能跟用戶跳失的關(guān)系。如下圖,可以看出當(dāng)小程序加載耗時超過2s時,跳失率程指數(shù)級增長。也正是基于這個結(jié)論,我們將小程序可交互時長的大盤目標(biāo)定為了1.8s。(其中橫軸表示可交互時長,縱軸表示跳失的用戶分布在該時間內(nèi)的占比)

小程序啟動漏斗

小程序啟動漏斗,能更直觀的分析出各階段耗時和跳失率/白屏率等指標(biāo)的關(guān)系。以下圖為例:

  1. Downloading 請求階段耗時過長,是白屏率/跳失率的重要因素旗艦店小程序接入 資源預(yù)熱,Downloading 耗時縮短50%,階段跳失/白屏收窄至0.08%內(nèi);
  2. 業(yè)務(wù)數(shù)據(jù)請求耗時長
  • 旗艦店小程序接入數(shù)據(jù)預(yù)取,店鋪框架數(shù)據(jù)請求耗時基本降為0,階段跳失/白屏基本降至0。

最佳實踐之:小程序引擎實例復(fù)用和預(yù)啟動

  1. 小程序進程啟動后,在空閑時機,會初始化并保留有且僅有一個通用的小程序 Engine 環(huán)境(與業(yè)務(wù)無關(guān)),直到小程序進程被殺死;
  2. 在運行過程中,小程序 Engine 實例會在3個狀態(tài)之間切換:
  • 可運行:小程序進程啟動后,新創(chuàng)建的小程序Runtime環(huán)境為”可運行“狀態(tài);
  • 運行中:小程序業(yè)務(wù)啟動時,將狀態(tài)為”可運行“的實例取出使用,狀態(tài)變?yōu)椤斑\行中";
  • 重置中:小程序業(yè)務(wù)關(guān)閉后,將使用過的實例取出,狀態(tài)變?yōu)椤敝刂弥小?;狀態(tài)重置完畢后,變?yōu)椤笨蛇\行“狀態(tài),供下個小程序使用。

最佳實踐之:數(shù)據(jù)預(yù)取2.0

根據(jù)小程序性能模型分析,在小程序啟動過程中,Worker啟動總是快于Render完成(Worker 處于空閑狀態(tài)),Worker 空閑時長分布如下:

  • 可以看出,線上有92.2%的概率會發(fā)生Worker閑置,閑置時長集中在300-500ms,可以完成1-2次網(wǎng)絡(luò)請求;
  • 閑置 Worker 具備了完備的小程序 JS 執(zhí)行能力,可在受限范圍內(nèi)執(zhí)行小程序 JSAPI,發(fā)送網(wǎng)絡(luò)請求獲取定位信息/系統(tǒng)信息等;


  • 動態(tài)預(yù)取優(yōu)點
  • 靈活:環(huán)境具備JS執(zhí)行能力,更靈活
  • 豐富:提供受限的 JSAPI 調(diào)用能力
  • 安全:支持權(quán)限管控,面向三方開放更安全

最佳實踐之:基于模板的快照渲染

  • 快照渲染能夠提升頁面二次打開性能,但在旗艦店場景下存在如下弊端:

(1)數(shù)據(jù)真實性:快照渲染使用了上次打開時的老數(shù)據(jù),會先展示舊內(nèi)容再刷新;

(2)磁盤占用和命中率:旗艦店屬于模板類小程序,有百萬數(shù)量級的實例化小程序,快照渲染會為每家店鋪生成不同的快照文件;龐大的基數(shù)條件下,再考慮磁盤占用建立的淘汰機制,使得快照命中率較低;

(3)長尾問題:訪問頻次較低的長尾店鋪,同一用戶二次訪問的概率較低,無法命中快照;

  • 為解決上述問題,實現(xiàn)了”基于模板的快照渲染(Template Snapshot)“?;谀0逍〕绦蛏煽煺瘴募?shù)據(jù)剔除,在快照渲染時,配合數(shù)據(jù)預(yù)取將真實數(shù)據(jù)插入模板中。既能保證數(shù)據(jù)真實性,同時可讓所有店鋪共享同一快照文件,最大限度的提高快照命中率和降低磁盤占用。

工具和平臺

建立標(biāo)準(zhǔn)化運維數(shù)據(jù),輸出到不同場景,貫穿整個研發(fā)和上線流程:

  • 工具側(cè):提供性能調(diào)試工具,幫助開發(fā)者快速分析和解決問題
  • 發(fā)布卡口:設(shè)置發(fā)布前質(zhì)量卡口和靜態(tài)掃描,避免業(yè)務(wù)帶病上線
  • 線上監(jiān)控:通過小程序運維平臺,承擔(dān)日常高可用數(shù)據(jù)的監(jiān)控和告警職責(zé)

數(shù)據(jù)效果

經(jīng)歷漫長的優(yōu)化周期,數(shù)據(jù)結(jié)果上,淘寶小程序大盤T2指標(biāo)由 2.7s優(yōu)化至1.9s;旗艦店首屏大盤從 4s+提升至1.8s。

同時,為了驗證體驗優(yōu)化對業(yè)務(wù)數(shù)據(jù)的正向效果,對旗艦店業(yè)務(wù)做了分桶實驗,數(shù)據(jù)證明也收獲了不錯的業(yè)務(wù)效果。

下圖是Top二、三方業(yè)務(wù)優(yōu)化前后的數(shù)據(jù)對比:

責(zé)任編輯:張燕妮 來源: 淘系技術(shù)
相關(guān)推薦

2024-03-19 09:24:00

大數(shù)據(jù)數(shù)據(jù)分析性能優(yōu)化

2013-04-27 10:52:09

大數(shù)據(jù)全球技術(shù)峰會

2016-11-08 09:16:54

數(shù)據(jù)倉庫優(yōu)化

2015-08-14 14:29:00

數(shù)據(jù)分析

2020-11-03 08:21:23

小程序

2011-06-21 16:58:09

外鏈

2021-01-13 15:24:29

數(shù)據(jù)分析工具HQL原理

2015-10-13 10:16:01

數(shù)據(jù)分析淘寶地域

2023-03-15 21:38:43

短視頻服務(wù)器

2019-06-21 10:40:25

微信小程序前端

2025-02-20 08:00:00

2012-03-29 13:56:58

HBase數(shù)據(jù)庫

2011-06-29 10:13:09

SEO

2021-09-14 19:01:56

ClickHouse京東小程序

2024-09-24 13:35:10

數(shù)據(jù)飛輪數(shù)據(jù)采集

2024-09-26 20:06:01

數(shù)據(jù)分析數(shù)據(jù)飛輪

2024-09-26 19:03:28

數(shù)據(jù)飛輪數(shù)據(jù)分析數(shù)據(jù)處理

2019-06-19 16:01:14

Spark數(shù)據(jù)分析SparkSQL

2024-09-23 22:12:14

2023-02-26 01:00:12

索引優(yōu)化慢查詢
點贊
收藏

51CTO技術(shù)棧公眾號