新聞中心
- 智能小程序的性能指標(biāo)
- 指標(biāo)綜述
- 到達(dá)率
- 指標(biāo)的目的
- 指標(biāo)的定義及統(tǒng)計(jì)口徑
- 指標(biāo)異常的解決方案:
- 白屏率
- 指標(biāo)的目的
- 指標(biāo)的定義及統(tǒng)計(jì)口徑
- 指標(biāo)異常的解決方案
- 上屏?xí)r長(zhǎng)
- 指標(biāo)的目的
- 指標(biāo)的定義及統(tǒng)計(jì)口徑
- 指標(biāo)異常的解決方案
- 請(qǐng)求耗時(shí)
- 指標(biāo)的目的
- 指標(biāo)的定義及統(tǒng)計(jì)口徑
- 指標(biāo)異常的解決方案
- 常見問題
- Q:如果開發(fā)者覺得數(shù)據(jù)不準(zhǔn)怎么辦?
- Q:沒有數(shù)據(jù)顯示是什么情況?
- Q:不同類似的小程序請(qǐng)求耗時(shí)標(biāo)準(zhǔn)值要區(qū)分嗎?哪些可長(zhǎng),哪些可短?
- Q:按照百度的建議做了好多該指標(biāo)的針對(duì)性優(yōu)化,請(qǐng)求耗時(shí)還是降不下來怎么辦?
- HTTP 請(qǐng)求錯(cuò)誤率
- 指標(biāo)的目的
- 指標(biāo)的定義及統(tǒng)計(jì)口徑
- 指標(biāo)異常的解決方案:
- JSError
- 常見問題
- Q:沒有數(shù)據(jù)顯示是什么情況?
- Q:按照百度的建議做了好多該指標(biāo)的針對(duì)性優(yōu)化,請(qǐng)求耗時(shí)還是降不下來怎么辦?
智能小程序的性能指標(biāo)
使用性能指標(biāo)來評(píng)估小程序的加載速度是非常必要的。首先回顧一下小程序頁面加載的幾個(gè)關(guān)鍵階段。

創(chuàng)新互聯(lián)從2013年創(chuàng)立,先為舟曲等服務(wù)建站,舟曲等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為舟曲企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
這幾個(gè)階段的含義分別如下:
| 階段 | 含義 |
|---|---|
| Loading | 下載小程序包階段 |
| First Paint(FP) | 界面的首次繪制 |
| First Contentful Paint(FCP) | 首次有內(nèi)容的繪制 |
| First Meaningful Paint(FMP) | 首次有意義的繪制 |
| Time to Interactive(TTI) | 頁面繪制完成,達(dá)到可交互狀 |
指標(biāo)綜述
智能小程序?yàn)殚_發(fā)者提供了性能監(jiān)控指標(biāo)平臺(tái),幫助開發(fā)者監(jiān)控小程序的線上加載性能。開發(fā)者可以在“開發(fā)者平臺(tái)-開發(fā)管理-運(yùn)維中心”的界面,看到小程序的加載性能監(jiān)控。
在運(yùn)維中心中,用戶可以監(jiān)控小程序性能的幾項(xiàng)關(guān)鍵指標(biāo),分別是到達(dá)率、白屏率、上屏?xí)r長(zhǎng)、請(qǐng)求耗時(shí)、HTTP 請(qǐng)求錯(cuò)誤率和 JSError 。
| 指標(biāo) | 含義 |
|---|---|
| 到達(dá)率 | 用戶點(diǎn)擊打開小程序后首屏渲染完成的占比 |
| 白屏率 | 用戶觸發(fā)頁面打開間隔一定時(shí)間后仍然沒有任何頁面繪制,為白屏 |
| 上屏?xí)r長(zhǎng) | 從用戶點(diǎn)擊小程序到首屏渲染完成的總加載耗時(shí) |
| 請(qǐng)求耗時(shí) | 網(wǎng)絡(luò)接口請(qǐng)求業(yè)務(wù)服務(wù)器數(shù)據(jù)的耗時(shí),高延遲將導(dǎo)致卡頓等現(xiàn)象 |
| 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 訪問失敗 |
| JSError | 小程序運(yùn)行過程中 JS 文件運(yùn)行發(fā)生錯(cuò)誤的數(shù)量 |
到達(dá)率
指標(biāo)的目的
到達(dá)率旨在刻畫用戶打開小程序到主動(dòng)退出時(shí)的頁面渲染完成情況,在一定程度上反映了小程序的可用性以及小程序頁面加載存在異常的情況。
指標(biāo)的定義及統(tǒng)計(jì)口徑
-
指標(biāo)定義:從用戶點(diǎn)擊小程序到第一個(gè)頁面渲染成功的漏斗比例。
-
指標(biāo)詳情:
小程序調(diào)起可簡(jiǎn)單分位 5 個(gè)階段:入口點(diǎn)擊 -> 指令調(diào)起小程序 -> 框架創(chuàng)建 -> 框架創(chuàng)建成功 -> 頁面渲染成功(or 失敗)。
到達(dá)率計(jì)算方式:到達(dá)率 = 頁面渲染成功 / 指令調(diào)起小程序,即第2步為到達(dá)率分母,第 5 步頁面渲染成功為到達(dá)率分子。
- 統(tǒng)計(jì)口徑:保留 30 天內(nèi)的數(shù)據(jù),數(shù)據(jù)延遲為 1 天,今天統(tǒng)計(jì)到昨天的數(shù)據(jù)。
指標(biāo)異常的解決方案:
降低白屏率及上屏?xí)r長(zhǎng)有助于到達(dá)率的提升:
-
參考下方白屏優(yōu)化解決方案;
-
參考下方降低上屏?xí)r長(zhǎng)解決方案。
白屏率
指標(biāo)的目的
白屏率旨在刻畫用戶打開小程序的頁面加載異常情況,幫助開發(fā)者監(jiān)控線上加載問題的發(fā)生。白屏率一方面代表了小程序的可用性,另外一方面也是判斷性能好壞的一個(gè)輔助指標(biāo)。
指標(biāo)的定義及統(tǒng)計(jì)口徑
- 指標(biāo)定義:小程序啟動(dòng)過程中頁面無內(nèi)容(白屏)的漏斗比例。
判斷白屏頁面方法:從接收到小程序調(diào)起指令開始計(jì)時(shí),6s 后截圖檢測(cè),如果是同一個(gè)頁面,并且是同一個(gè)顏色,則屬于白屏頁面
- 指標(biāo)詳情:分母為小程序入口點(diǎn)擊次數(shù),分子為白屏頁面次數(shù)。
指標(biāo)異常的解決方案
小程序白屏數(shù)據(jù)出現(xiàn)異常上漲時(shí),可以從以下三個(gè)方面著手排查分析:
服務(wù)穩(wěn)定性
- 小程序頁面數(shù)據(jù)請(qǐng)求是否正常:
通過線上巡檢,發(fā)現(xiàn)有小程序存在自身服務(wù)不穩(wěn)定的情況。例如小程序頁面數(shù)據(jù)請(qǐng)求返回 4XX,5XX 錯(cuò)誤等。 - HTTPS 證書是否存在問題:
排查 HTTPS 證書是否已過期,導(dǎo)致小程序相關(guān)請(qǐng)求失敗,無法展示數(shù)據(jù)。有些小程序可能誤使用了自簽的 HTTPS 證書,由于無法被信任,用戶也無法強(qiáng)制信任,導(dǎo)致頁面數(shù)據(jù)獲取失敗。
業(yè)務(wù)邏輯
有些小程序的頁面數(shù)據(jù)展示可能存在前置條件,例如需要登錄、定位等。在條件不滿足時(shí),可能存在兼容處理問題。這里給出常見的幾種 case:
- 頁面打開時(shí)需要首先進(jìn)行授權(quán),獲取權(quán)限:
授權(quán)失敗時(shí)需要有響應(yīng)的兼容邏輯或者給予明確提示。 - 頁面打開時(shí)需要登錄才可展示內(nèi)容:
例如常見的購(gòu)物類小程序,用戶未登錄時(shí)需要有相應(yīng)的提示,以及觸發(fā)登錄的按鈕或者入口。 - 網(wǎng)絡(luò)連接失敗時(shí),頁面兼容性不足:
這種情況最好是有對(duì)應(yīng)的錯(cuò)誤頁和重試入口,保證用戶可再操作,提供自主恢復(fù)的能力。 - 邏輯中存在自設(shè)校驗(yàn),校驗(yàn)不通過:
有些小程序是從微信小程序遷移而來,內(nèi)部邏輯中可能存在自設(shè)的平臺(tái)檢測(cè)校驗(yàn)等,遷移時(shí)或者版本更新時(shí)沒有同步變更,導(dǎo)致校驗(yàn)不通過,從而導(dǎo)致頁面異常。
框架兼容性
小程序框架自身也在不斷更新,所支持的能力也在不斷更新和擴(kuò)充。同樣,開發(fā)者也會(huì)對(duì)小程序自身會(huì)進(jìn)行版本更新。這里就涉及到了兼容性問題。小程序框架版本修復(fù) Bug 記錄和版本兼容性,請(qǐng)參考以下連接了解和主動(dòng)規(guī)避:
- 語法支持性:運(yùn)行環(huán)境
- 版本兼容性:兼容性說明
- 框架更新日志及修復(fù)問題說明:歷史更新日志
上屏?xí)r長(zhǎng)
指標(biāo)的目的
上屏?xí)r長(zhǎng)旨在真實(shí)刻畫用戶打開過程中的啟動(dòng)性能,而性能是創(chuàng)造良好用戶體驗(yàn)的基本要素。當(dāng)用戶進(jìn)入小程序時(shí),良好的性能可以快速加載頁面。如果性能欠佳,加載速度過慢,用戶則不得不等待,當(dāng)用戶忍受低性能的小程序到一定程度后,則會(huì)選擇放棄。據(jù)《High performance iOS Apps》中的數(shù)據(jù)顯示, 25% 的用戶在應(yīng)用啟動(dòng)時(shí)間超過 3s 時(shí)會(huì)放棄使用。
指標(biāo)的定義及統(tǒng)計(jì)口徑
-
指標(biāo)定義:從用戶點(diǎn)擊小程序到第一個(gè)頁面渲染完成的總加載耗時(shí)。
-
指標(biāo)詳情:
? 小程序調(diào)起可簡(jiǎn)單分位 5 個(gè)階段:入口點(diǎn)擊 -> 指令調(diào)起 -> 框架創(chuàng)建 -> 框架創(chuàng)建成功 -> 頁面渲染成功
? 上屏?xí)r長(zhǎng)是從第 1 個(gè)階段到第 5 個(gè)階段的耗時(shí)。
- 統(tǒng)計(jì)口徑:時(shí)長(zhǎng) >0 且 ≤10s 認(rèn)為有效時(shí)長(zhǎng),只統(tǒng)計(jì)有效時(shí)長(zhǎng)。保留 30 天內(nèi)的數(shù)據(jù),數(shù)據(jù)延遲為 1 天,今天統(tǒng)計(jì)展示昨天的數(shù)據(jù)。
指標(biāo)異常的解決方案
-
遵循智能小程序性能優(yōu)化的原理和手段,結(jié)合自身的業(yè)務(wù)場(chǎng)景,進(jìn)行優(yōu)化點(diǎn)挖掘。
-
更高效的編碼。例如:前置核心路徑,非必要邏輯采取懶加載(即:用時(shí)加載),復(fù)雜事情簡(jiǎn)單做(更高效的算法)等。
-
使用性能檢測(cè)工具輔助排查,查找性能瓶頸。
請(qǐng)求耗時(shí)
指標(biāo)的目的
request 請(qǐng)求耗時(shí)數(shù)據(jù)直接體現(xiàn)出用戶請(qǐng)求的實(shí)際耗時(shí)場(chǎng)景,請(qǐng)求時(shí)間過長(zhǎng)會(huì)影響用戶體驗(yàn),消磨用戶耐心和時(shí)間,導(dǎo)致用戶流失或?qū)ζ脚_(tái)體驗(yàn)的極其不舒適。通過統(tǒng)計(jì)訪問請(qǐng)求耗時(shí)數(shù)據(jù)(request),可以幫助開發(fā)者了解用戶訪問的時(shí)間情況,排查影響用戶體驗(yàn)的請(qǐng)求問題。
指標(biāo)的定義及統(tǒng)計(jì)口徑
- 指標(biāo)定義
網(wǎng)絡(luò)接口請(qǐng)求業(yè)務(wù)服務(wù)器數(shù)據(jù)的耗時(shí),高延遲將導(dǎo)致卡頓等現(xiàn)象。
- 統(tǒng)計(jì)口徑:
? a. 排除所有不小于 3000ms 的請(qǐng)求
? b. 保留30天內(nèi)的數(shù)據(jù)
? c. 今天統(tǒng)計(jì)到昨天的數(shù)據(jù),數(shù)據(jù)延遲為 1 天
- 各個(gè)圖表介紹:
? a. 平均耗時(shí)折線圖:計(jì)算所有正常用戶請(qǐng)求的平均耗時(shí)時(shí)間。
? b. 用戶請(qǐng)求時(shí)間分布圖:計(jì)算各個(gè)時(shí)間區(qū)間內(nèi)的請(qǐng)求分布,時(shí)間區(qū)間為 [0,500),[500,900),[900,1500),[1500,2000),[2000,3000) 。
? c. 各個(gè)接口請(qǐng)求耗時(shí)詳情:每個(gè)接口在每個(gè)耗時(shí)區(qū)間內(nèi)請(qǐng)求時(shí)間 top10 詳情。
指標(biāo)異常的解決方案
現(xiàn)象:平均時(shí)間過高問題:
解決思路:
- 服務(wù)整體接口請(qǐng)求耗時(shí)都比較高,可能是提供接口服務(wù),網(wǎng)絡(luò)整體耗時(shí)延遲比較高,需要根據(jù)詳情數(shù)據(jù)進(jìn)行分析。
? a. 查看耗時(shí)比較高的詳情數(shù)據(jù)
? b. 如果是 response_time 時(shí)長(zhǎng)比較高,則說明數(shù)據(jù)處理耗時(shí)比較長(zhǎng),這個(gè)時(shí)候需要關(guān)注自己接口性能情況。
? c. 如果是 conn_time 比較高,說明連接耗時(shí)比較長(zhǎng),可以關(guān)注網(wǎng)絡(luò)和地域以及服務(wù)的連接池等。
? d. 如果是 dns_time 比較高,可能是用戶所在的局域網(wǎng)還沒有緩存到域名的dns數(shù)據(jù)。
- 存在很多耗時(shí)比較高的請(qǐng)求拉高了整體的平均耗時(shí)時(shí)間,可以查看用戶請(qǐng)求時(shí)間分布圖輔助排查。
? a. 用戶請(qǐng)求時(shí)間分布圖耗時(shí)多的分布占比多。
現(xiàn)象:某個(gè)接口或者某些接口出現(xiàn)問題:
解決思路:接口所承載的請(qǐng)求量比重多,可以查看具體詳情進(jìn)行針對(duì)性調(diào)查
常見問題
Q:如果開發(fā)者覺得數(shù)據(jù)不準(zhǔn)怎么辦?
A:可以先對(duì)照自己后臺(tái)的相關(guān)日志進(jìn)行對(duì)比,看是否和統(tǒng)計(jì)的數(shù)據(jù)處理耗時(shí)相對(duì)應(yīng)。
Q:沒有數(shù)據(jù)顯示是什么情況?
A:查看是否還沒有進(jìn)行數(shù)據(jù)統(tǒng)計(jì),或者超出了數(shù)據(jù)統(tǒng)計(jì)區(qū)間。
Q:不同類似的小程序請(qǐng)求耗時(shí)標(biāo)準(zhǔn)值要區(qū)分嗎?哪些可長(zhǎng),哪些可短?
A:不同的請(qǐng)求有不同的數(shù)據(jù)提供,開發(fā)者要根據(jù)自己的請(qǐng)求功能評(píng)估自己的請(qǐng)求耗時(shí)時(shí)間標(biāo)準(zhǔn)預(yù)期。比如傳輸?shù)臄?shù)據(jù)比較少,或者數(shù)據(jù)計(jì)算比較簡(jiǎn)單,則反饋出的時(shí)間標(biāo)準(zhǔn)也比較短;如果傳輸?shù)臄?shù)據(jù)比較多,或者數(shù)據(jù)計(jì)算的業(yè)務(wù)復(fù)雜,則反饋出的時(shí)間標(biāo)準(zhǔn)也比較長(zhǎng)一些。
Q:按照百度的建議做了好多該指標(biāo)的針對(duì)性優(yōu)化,請(qǐng)求耗時(shí)還是降不下來怎么辦?
A:可以根據(jù)具體的詳情數(shù)據(jù)進(jìn)行分析,如果是數(shù)據(jù)持續(xù)耗時(shí)比較長(zhǎng),則大多是開發(fā)者的應(yīng)用服務(wù)接口出現(xiàn)性能問題,可以對(duì)照自己記錄請(qǐng)求日志,排查應(yīng)用性能問題;如果自己的服務(wù)提供穩(wěn)定,且占比總耗時(shí)比較短,可以聯(lián)系技術(shù)支持同學(xué)提供幫助。
如果有無法排查的問題或者其他疑問,可以在社區(qū)反饋聯(lián)系技術(shù)支持同學(xué)進(jìn)行解決。
HTTP 請(qǐng)求錯(cuò)誤率
指標(biāo)的目的
請(qǐng)求錯(cuò)誤率用來標(biāo)識(shí)開發(fā)者服務(wù)的可用性。
指標(biāo)的定義及統(tǒng)計(jì)口徑
-
指標(biāo)定義:小程序啟動(dòng)過程中發(fā)生錯(cuò)誤(例如:404、502 等)的 HTTP 請(qǐng)求漏斗比例。
-
統(tǒng)計(jì)口徑:今天統(tǒng)計(jì)到昨天的數(shù)據(jù),數(shù)據(jù)延遲為 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 訪問失敗。
小程序錯(cuò)誤碼包含 0/4XX/5XX 幾種情況,其中:
-
“0”代表網(wǎng)絡(luò)請(qǐng)求直接失敗、無錯(cuò)誤碼;
-
4xx/5xx 為小程序服務(wù)端返回的錯(cuò)誤碼。
JSError
JSError 指標(biāo)詳情請(qǐng)參考 JSError 檢測(cè)、JSError 常見錯(cuò)誤處理。
常見問題
Q:沒有數(shù)據(jù)顯示是什么情況?
A:數(shù)據(jù)延遲 2 小時(shí),只展示當(dāng)前線上包的數(shù)據(jù),剛發(fā)布新的包版本后存在短期內(nèi)無數(shù)據(jù)的情況。
Q:按照百度的建議做了好多該指標(biāo)的針對(duì)性優(yōu)化,請(qǐng)求耗時(shí)還是降不下來怎么辦?
A:根據(jù)堆棧信息解決對(duì)應(yīng)報(bào)錯(cuò)是降低錯(cuò)誤率的唯一辦法。
當(dāng)前標(biāo)題:創(chuàng)新互聯(lián)百度小程序教程:智能小程序的性能指標(biāo)
地址分享:http://www.dlmjj.cn/article/djojsgp.html


咨詢
建站咨詢
