前端&&web 性能監控
看這個,這個,參考資料,很詳細,就不細細抄啦~~
參考資料:
https://mp.weixin.qq.com/s/7ycHJtq81icA-BtY0WEzXw
性能指標
google 開發者提出了一種 RAIL 模型來衡量應用性能,即:
- Response
100ms 內響應用戶輸入
- Animation
動畫或者滾動需在 10ms 內產生下一幀
- Idle
最大化空閒時間
- Load
頁面加載時長不超過 5 秒
分別代表着 web 應用生命週期的四個不同方面。並指出的最好性能指標。
監控分類
web 性能監控可分爲兩類,一類是合成監控(Synthetic Monitoring,SYN),另一類是真實用戶監控(Real User Monitoring,RUM)
合成監控(Synthetic Monitoring,SYN)
合成監控是採用 web 瀏覽器模擬器來加載網頁,通過模擬終端用戶可能的操作來採集對應的性能指標,最後輸出一個網站性能報告。例如:Lighthouse、PageSpeed、WebPageTest、Pingdom、PhantomJS 等。
Lighthouse
Lighthouse 是 google 一個開源的自動化工具,運行 Lighthouse 的方式有兩種:一種是作爲 Chrome 擴展程序運行;另一種作爲命令行工具運行。Chrome 擴展程序提供了一個對用戶更友好的界面,方便讀取報告。通過命令行工具可以將 Lighthouse 集成到持續集成系統。
展示了白屏、首屏、可交互時間等性能指標和 SEO、PWA 等。
騰訊文檔移動端官網首頁測速結果:
合成監控方式的優缺點:
優點:
- 無侵入性。
- 簡單快捷。
缺點:
- 不是真實的用戶訪問情況,只是模擬的。
- 沒法考慮到登錄的情況,對於需要登錄的頁面就無法監控到。
真實用戶監控(Real User Monitoring,RUM)
真實用戶監控是一種被動監控技術,是一種應用服務,被監控的 web 應用通過 sdk 等方式接入該服務,將真實的用戶訪問、交互等性能指標數據收集上報、通過數據清洗加工後形成性能分析報表。例如 FrontJs、oneapm、Datadog 等。
oneapm
https://www.oneapm.com/bi/feature.html
功能包括:大盤數據、特徵統計、慢加載追蹤、訪問頁面、腳本錯誤、AJAX、組合分析、報表、告警等。