百度智能小程序-性能指標(biāo)優(yōu)化建議
小程序性能穩(wěn)定性是衡量小程序等級(jí)的重要指標(biāo)之一,是指小程序在百度 App 中加載和呈現(xiàn)的速度,以及小程序?qū)τ脩艚换サ捻憫?yīng)程度。
性能欠佳的小程序顯示速度和對(duì)輸入響應(yīng)的速度較慢,甚至?xí)霈F(xiàn)內(nèi)容不可訪問(wèn)的情況,這將在不同程度上影響用戶體驗(yàn),從而導(dǎo)致用戶流失,所以使用性能指標(biāo)來(lái)評(píng)估小程序的加載速度是非常必要的。
開(kāi)發(fā)者可以在“開(kāi)發(fā)者平臺(tái) -> 開(kāi)發(fā)管理 -> 權(quán)益中心”的界面,點(diǎn)擊指標(biāo)后的“查看性能詳情”跳轉(zhuǎn)至或直接點(diǎn)擊“開(kāi)發(fā)者平臺(tái) -> 開(kāi)發(fā)管理 -> 運(yùn)維中心”看到小程序的加載性能監(jiān)控,這幾項(xiàng)指標(biāo)分別是白屏率、上屏?xí)r長(zhǎng)和 HTTP 請(qǐng)求錯(cuò)誤率 。
指標(biāo)含義
白屏率小程序啟動(dòng)過(guò)程中頁(yè)面無(wú)內(nèi)容(白屏)的漏斗比例
上屏?xí)r長(zhǎng)從用戶點(diǎn)擊小程序到首屏渲染完成的總加載耗時(shí)
HTTP 請(qǐng)求錯(cuò)誤率在網(wǎng)絡(luò)可用的前提下,當(dāng)使用小程序 request 網(wǎng)絡(luò)請(qǐng)求,請(qǐng)求結(jié)果失敗或服務(wù)端返回的錯(cuò)誤碼為 4XX/5XX ,則認(rèn)為當(dāng)次 HTTP 訪問(wèn)失敗
白屏率
指標(biāo)的目的
白屏率旨在刻畫(huà)用戶打開(kāi)小程序的頁(yè)面加載異常情況,幫助開(kāi)發(fā)者監(jiān)控線上加載問(wèn)題的發(fā)生。白屏率一方面代表了小程序的可用性,另外一方面也是判斷性能好壞的一個(gè)輔助指標(biāo)。
白屏率
指標(biāo)的定義及達(dá)標(biāo)要求
指標(biāo)定義:小程序啟動(dòng)過(guò)程中頁(yè)面無(wú)內(nèi)容(白屏)的漏斗比例。
判斷白屏頁(yè)面方法:從接收到小程序調(diào)起指令開(kāi)始計(jì)時(shí),6s 后截圖檢測(cè),如果是同一個(gè)頁(yè)面,并且是同一個(gè)顏色,則屬于白屏頁(yè)面
指標(biāo)詳情:分母為小程序入口點(diǎn)擊次數(shù),分子為白屏頁(yè)面次數(shù)。
達(dá)標(biāo)要求:≤1%
指標(biāo)異常的解決方案
小程序白屏數(shù)據(jù)出現(xiàn)異常上漲時(shí),可以從以下三個(gè)方面著手排查分析:
服務(wù)穩(wěn)定性
小程序頁(yè)面數(shù)據(jù)請(qǐng)求是否正常:
通過(guò)線上巡檢,發(fā)現(xiàn)有小程序存在自身服務(wù)不穩(wěn)定的情況。例如小程序頁(yè)面數(shù)據(jù)請(qǐng)求返回 4XX,5XX 錯(cuò)誤等。
HTTPS 證書(shū)是否存在問(wèn)題:
排查 HTTPS 證書(shū)是否已過(guò)期,導(dǎo)致小程序相關(guān)請(qǐng)求失敗,無(wú)法展示數(shù)據(jù)。有些小程序可能誤使用了自簽的 HTTPS 證書(shū),由于無(wú)法被信任,用戶也無(wú)法強(qiáng)制信任,導(dǎo)致頁(yè)面數(shù)據(jù)獲取失敗。
業(yè)務(wù)邏輯
有些小程序的頁(yè)面數(shù)據(jù)展示可能存在前置條件,例如需要登錄、定位等。在條件不滿足時(shí),可能存在兼容處理問(wèn)題。這里給出常見(jiàn)的幾種 case:
頁(yè)面打開(kāi)時(shí)需要首先進(jìn)行授權(quán),獲取權(quán)限:
授權(quán)失敗時(shí)需要有響應(yīng)的兼容邏輯或者給予明確提示。
頁(yè)面打開(kāi)時(shí)需要登錄才可展示內(nèi)容:
例如常見(jiàn)的購(gòu)物類(lèi)小程序,用戶未登錄時(shí)需要有相應(yīng)的提示,以及觸發(fā)登錄的按鈕或者入口。
網(wǎng)絡(luò)連接失敗時(shí),頁(yè)面兼容性不足:
這種情況最好是有對(duì)應(yīng)的錯(cuò)誤頁(yè)和重試入口,保證用戶可再操作,提供自主恢復(fù)的能力。
邏輯中存在自設(shè)校驗(yàn),校驗(yàn)不通過(guò):
有些小程序是從微信小程序遷移而來(lái),內(nèi)部邏輯中可能存在自設(shè)的平臺(tái)檢測(cè)校驗(yàn)等,遷移時(shí)或者版本更新時(shí)沒(méi)有同步變更,導(dǎo)致校驗(yàn)不通過(guò),從而導(dǎo)致頁(yè)面異常。
框架兼容性
小程序框架自身也在不斷更新,所支持的能力也在不斷更新和擴(kuò)充。同樣,開(kāi)發(fā)者也會(huì)對(duì)小程序自身會(huì)進(jìn)行版本更新。這里就涉及到了兼容性問(wèn)題。小程序框架版本修復(fù) Bug 記錄和版本兼容性,請(qǐng)參考以下連接了解和主動(dòng)規(guī)避:
語(yǔ)法支持性:運(yùn)行環(huán)境
版本兼容性:兼容性說(shuō)明
框架更新日志及修復(fù)問(wèn)題說(shuō)明:歷史更新日志
上屏?xí)r長(zhǎng)
指標(biāo)的目的
上屏?xí)r長(zhǎng)旨在真實(shí)刻畫(huà)用戶打開(kāi)過(guò)程中的啟動(dòng)性能,而性能是創(chuàng)造良好用戶體驗(yàn)的基本要素。當(dāng)用戶進(jìn)入小程序時(shí),良好的性能可以快速加載頁(yè)面。如果性能欠佳,加載速度過(guò)慢,用戶則不得不等待,當(dāng)用戶忍受低性能的小程序到一定程度后,則會(huì)選擇放棄。據(jù)《High performance iOS Apps》中的數(shù)據(jù)顯示, 25% 的用戶在應(yīng)用啟動(dòng)時(shí)間超過(guò) 3s 時(shí)會(huì)放棄使用。
上屏?xí)r長(zhǎng)
指標(biāo)的定義及達(dá)標(biāo)要求
指標(biāo)定義:從用戶點(diǎn)擊小程序到第一個(gè)頁(yè)面渲染完成的總加載耗時(shí)。
指標(biāo)詳情:
? 小程序調(diào)起可簡(jiǎn)單分位 5 個(gè)階段:入口點(diǎn)擊 -> 指令調(diào)起 -> 框架創(chuàng)建 -> 框架創(chuàng)建成功 -> 頁(yè)面渲染成功
? 上屏?xí)r長(zhǎng)是從第 1 個(gè)階段到第 5 個(gè)階段的耗時(shí)。
達(dá)標(biāo)要求:≤1.8s
指標(biāo)異常的解決方案
遵循智能小程序性能優(yōu)化的原理和手段,結(jié)合自身的業(yè)務(wù)場(chǎng)景,進(jìn)行優(yōu)化點(diǎn)挖掘。
更高效的編碼。例如:前置核心路徑,非必要邏輯采取懶加載(即:用時(shí)加載),復(fù)雜事情簡(jiǎn)單做(更高效的算法)等。
使用性能檢測(cè)工具輔助排查,查找性能瓶頸。
HTTP 請(qǐng)求錯(cuò)誤率
指標(biāo)的目的
請(qǐng)求錯(cuò)誤率用來(lái)標(biāo)識(shí)開(kāi)發(fā)者服務(wù)的可用性。
http請(qǐng)求錯(cuò)誤率
指標(biāo)的定義及達(dá)標(biāo)要求
指標(biāo)定義:小程序啟動(dòng)過(guò)程中發(fā)生錯(cuò)誤(例如:404、502 等)的 HTTP 請(qǐng)求漏斗比例。
達(dá)標(biāo)要求:≤1%
指標(biāo)異常的解決方案:
在網(wǎng)絡(luò)可用的前提下,當(dāng)使用小程序 request 網(wǎng)絡(luò)請(qǐng)求,請(qǐng)求結(jié)果失敗或服務(wù)端返回的錯(cuò)誤碼為 4XX/5XX ,則認(rèn)為當(dāng)次 HTTP 訪問(wèn)失敗。
小程序錯(cuò)誤碼包含 0/4XX/5XX 幾種情況,其中:
“0”代表網(wǎng)絡(luò)請(qǐng)求直接失敗、無(wú)錯(cuò)誤碼;
4xx/5xx 為小程序服務(wù)端返回的錯(cuò)誤碼。
來(lái)源:百度智能小程序