微信小程序開發人員如何優化小程序性能呢?可以使用微信推出的“小程序測速”功能。這個功能可以簡單方便地統計小程序內某一事件的實時耗時情況,并可根據地域、運營商、操作系統、網絡類型、機型等關鍵維度進行實時交叉分析。那下面跟小編一起來了解下小程序測速功能的使用方法。
首先開發者需要在基礎庫2.9.2版本以上,可以通過“測速上報”接口上報某一指標的耗時情況,然后可以在小程序管理后臺的“開發-運維中心-小程序測速”查看各指標耗時趨勢,并支持分鐘級數據實時查看。
創建監控ID
1、在小程序管理后臺的“開發-運維中心-小程序測速”中新創建監控ID,并填寫監控指標的名稱和解釋,也就是需要先定義監控指標。
監控指標分為兩類:
網絡請求類:此類耗時主要受網絡環境影響,包含操作系統、運營商、網絡環境、地區等統計維度。如:網絡API耗時、云調用耗時、網絡數據讀寫耗時等。注意此類指標最多可創建20個。
加載/渲染類:此類耗時主要受設備性能影響,包含操作系統、機型類別等統計維護。可以用來測量頁面切換耗時、組建渲染耗時等。注意此類指標最多可創建20個。
2、新建后,可以看到上報需要使用的監控ID。
小程序測速上報方法
監控ID創建后,還需要在小程序代碼中調用wx.reportPerformance接口上報耗時數字,才能實現耗時監控。有兩種方法:
方法1:使用canIUse進行判斷
// * 需要使用 canIUse 判斷接口是否可用
if (wx.canIUse(‘reportPerformance’)) {
wx.reportPerformance(id, val)
}
方法2:使用compareVersion 進行判斷
// * 需要先使用 compareVersion 判斷接口是否可用
const sdkVersion = wx.getSystemInfoSync().SDKVersion
if (compareVersion(sdkVersion, ‘2.9.2’) >= 0) {
wx.reportPerformance(id, val)
}
id 和 val 均為 uint32 類型,其中 id 為小程序管理后臺定義的監控 ID,val 為本次要上報的耗時數值(由開發者自行計算)。接口調用需要基礎庫的版本號高于 2.9.2,否則在一些低版本基礎庫可能報錯。
小程序測速數據觀察
完成代碼上報后,可在小程序管理后臺”開發 -運維中心 -小程序測速” 查看各指標耗時趨勢。目前線上數據約有15分鐘數據時延,上報數據保留 7 天,可按照 1 分鐘 – 1 小時等不同的時間粒度進行聚合。
每個指標可以觀察到平均值和上報次數兩條曲線
交叉對比功能(不能超過10條)
查看不同地域網絡請求類指標
微信小程序測速上報功能可以測量網絡類指標(如網絡調用/云調用耗時、網絡數據讀寫速度等)和非網絡類指標(頁面切換加載速度、組件渲染速度等),開發者可以查看這些指標在不同維度下的數量分布和性能差異。適用于一些計算視頻首屏時延、幀率等場景。