成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

前端性能優(yōu)化筆記:性能優(yōu)化體系與關(guān)鍵指標(biāo)設(shè)定

開發(fā) 前端
本篇文章只是作為《前端性能優(yōu)化筆記系列》文章的開篇,引導(dǎo)讀者對(duì)于性能優(yōu)化體系有個(gè)更好的認(rèn)知,了解相關(guān)的指標(biāo)和指標(biāo),因?yàn)閷W(xué)習(xí)性能優(yōu)化。

1 寫在前面

我們?cè)谶M(jìn)行網(wǎng)站或者APP開發(fā)后,最擔(dān)心的就是用戶訪問時(shí)出現(xiàn)頁(yè)面卡頓、白屏等性能問題,嚴(yán)重影響用戶體驗(yàn)。現(xiàn)在大公司都會(huì)在性能提升和優(yōu)化上下大功夫,會(huì)設(shè)置個(gè)前端性能標(biāo)準(zhǔn)和開發(fā)預(yù)警監(jiān)控平臺(tái)。那么前端性能優(yōu)化一般比較瑣碎繁雜,我們應(yīng)該如何將瑣碎的工作進(jìn)行系統(tǒng)化呢?

2 性能優(yōu)化流程

在進(jìn)行性能優(yōu)化處理前,我們首先得知道性能優(yōu)化的相關(guān)流程,這樣我們嚴(yán)格按照流程進(jìn)行處理即可。與此同時(shí),指定優(yōu)化實(shí)踐流程是確保信任也可以按照?qǐng)?zhí)行,這是優(yōu)化成果得以長(zhǎng)期保持的重要保障,也是我們后期維護(hù)的動(dòng)力。

性能優(yōu)化流程有:

  1. 指標(biāo)設(shè)定
  2. 性能標(biāo)準(zhǔn)
  3. 收益評(píng)估
  4. 診斷清單
  5. 優(yōu)化手段
  6. 性能立項(xiàng)
  7. 性能實(shí)踐

指標(biāo)設(shè)定和性能標(biāo)準(zhǔn): 我們要選擇什么樣的指標(biāo)作為風(fēng)向標(biāo)?設(shè)定指標(biāo)后,就是確定性能標(biāo)準(zhǔn)即我們的性能優(yōu)化目標(biāo)是什么樣的?性能要優(yōu)化到什么程度算是合適的?

收益評(píng)估: 當(dāng)我們做出這些性能優(yōu)化的處理時(shí),其實(shí)是需要關(guān)聯(lián)產(chǎn)品目標(biāo)進(jìn)行收益評(píng)估,如果沒有收益做出這些改變就不存什么意義了。做性能優(yōu)化是為了服務(wù)于產(chǎn)品、提升用戶體驗(yàn),而不是在進(jìn)行重復(fù)無意義的造輪子。

診斷清單: 其實(shí)在我們?cè)谏a(chǎn)過程中,有很多性能問題并不是立刻能夠監(jiān)聽到的,對(duì)此需要將我們編寫的業(yè)務(wù)代碼接入到性能監(jiān)控預(yù)警平臺(tái),根據(jù)性能標(biāo)準(zhǔn)給出診斷清單,方便我們進(jìn)行后續(xù)的改進(jìn)和優(yōu)化。

優(yōu)化手段: 在監(jiān)控預(yù)警平臺(tái)給出我們代碼的診斷清單后,我們需要結(jié)合性能標(biāo)準(zhǔn)針對(duì)性能標(biāo)準(zhǔn)確定相應(yīng)的優(yōu)化手段。

性能立項(xiàng): 我們進(jìn)行性能項(xiàng)目立項(xiàng)時(shí),是需要產(chǎn)品和后端同學(xué)的支持的,也是我們進(jìn)行性能優(yōu)化流程不可或缺的內(nèi)容。

性能實(shí)踐: 經(jīng)歷過性能優(yōu)化的項(xiàng)目需要重新發(fā)起上線,并跟蹤進(jìn)行效果評(píng)估,結(jié)合場(chǎng)景把這些項(xiàng)目成果以文檔或代碼的形式沉淀下來,方便我們后續(xù)的學(xué)習(xí)和總結(jié)經(jīng)驗(yàn)。

3 性能指標(biāo)采集與上報(bào)

前面我們提到了性能優(yōu)化的基本流程,其中重要環(huán)境就需要依賴于監(jiān)控預(yù)警平臺(tái),需要對(duì)性能采集以及上報(bào)進(jìn)行可視化。那么我們現(xiàn)在就需要把前面提到的性能指標(biāo)以代碼的形式進(jìn)行實(shí)施落地,進(jìn)行分解落地確保可以采集到發(fā)現(xiàn)的性能問題,然后再進(jìn)行SDK封裝后集合統(tǒng)計(jì)埋點(diǎn),最后根據(jù)實(shí)際情況,指定上報(bào)策略。具體的有:

  1. 指標(biāo)分解
  2. 指標(biāo)采集
  3. SDK封裝
  4. 統(tǒng)計(jì)埋點(diǎn)
  5. 上報(bào)策略
  6. 數(shù)據(jù)預(yù)處理

性能監(jiān)控預(yù)警平臺(tái)主要分為:性能數(shù)據(jù)處理后臺(tái)、性能可視化展現(xiàn)前臺(tái)以及性能數(shù)據(jù)存儲(chǔ)三部分。

性能數(shù)據(jù)處理后臺(tái):主要在性能采集數(shù)據(jù)上報(bào)到性能平臺(tái)后,對(duì)數(shù)據(jù)進(jìn)行預(yù)處理、數(shù)據(jù)清晰和數(shù)據(jù)計(jì)算,然后生成前臺(tái)可視化所需數(shù)據(jù)。

性能可視化展示前臺(tái):主要是對(duì)核心數(shù)據(jù)指標(biāo)進(jìn)行可視化展示,對(duì)性能數(shù)據(jù)波動(dòng)進(jìn)行監(jiān)控,當(dāng)指標(biāo)超過某個(gè)監(jiān)控閾值時(shí),性能監(jiān)控預(yù)警平臺(tái)會(huì)通過郵件或者短信以及其他通知形式給我們發(fā)送預(yù)警信息。

性能數(shù)據(jù)存儲(chǔ):此部分主要是進(jìn)行采集和上報(bào)的性能數(shù)據(jù)存儲(chǔ),方便后續(xù)進(jìn)行數(shù)據(jù)分析和數(shù)據(jù)可視化處理。

4 性能監(jiān)控預(yù)警平臺(tái)

在我們的項(xiàng)目開發(fā)完畢后,在準(zhǔn)備上線前一定要做性能專項(xiàng)測(cè)試,檢查下你采取的措施和性能優(yōu)化預(yù)期是否一致。

在整個(gè)性能優(yōu)化體系中,你覺得最開始要做的事情是哪一個(gè)?比如說,在你們公司開發(fā)的APP活動(dòng)頁(yè)出現(xiàn)了加載數(shù)據(jù)卡頓的性能問題時(shí),我們應(yīng)該如何進(jìn)行優(yōu)化呢?

當(dāng)然,首要的步驟是確定它的性能指標(biāo)及其標(biāo)準(zhǔn)是什么?只有設(shè)定好了性能指標(biāo),知道了它的標(biāo)準(zhǔn),后續(xù)我們才能知道圍繞它如何進(jìn)行性能優(yōu)化。

那么什么樣的指標(biāo)是值得我們關(guān)注的呢?當(dāng)然是圍繞著用戶進(jìn)行服務(wù)和優(yōu)化體驗(yàn)的可衡量的數(shù)據(jù),可衡量即是可以通過代碼來度量的,關(guān)注以用戶為中心的關(guān)鍵結(jié)果和真實(shí)體驗(yàn)的。

關(guān)鍵結(jié)果:我們知道要關(guān)注用戶關(guān)心的信息,那么用戶到底關(guān)心的是什么呢?當(dāng)用戶進(jìn)入商品詳情頁(yè)面時(shí),他當(dāng)然關(guān)注的是這個(gè)商品怎么樣,具體到頁(yè)面上的就是商品描述、商品頭圖、商品價(jià)格、商品銷量以及如何購(gòu)買按鈕等關(guān)鍵信息。

真實(shí)體驗(yàn):真實(shí)體驗(yàn)當(dāng)然是使用產(chǎn)品的感受,比如用戶進(jìn)入列表頁(yè),在滑動(dòng)過程中頁(yè)面加載突然跳出一個(gè)彈窗,他會(huì)不會(huì)覺得煩躁呢?又比如我們?cè)谀甑赘鞔笃脚_(tái)都會(huì)有年度報(bào)告,那么如果用戶在進(jìn)行滑動(dòng)切換頁(yè)面視頻、動(dòng)畫和音樂播放并不是那么的流暢,這就會(huì)對(duì)產(chǎn)品預(yù)期想要得到的效果大打折扣。

5 性能優(yōu)化關(guān)鍵指標(biāo)設(shè)定及標(biāo)準(zhǔn)

在性能優(yōu)化關(guān)鍵指標(biāo)方面,當(dāng)前業(yè)界主要集中在加載方面,特別是頁(yè)面的白屏?xí)r間和首屏?xí)r間。除了手動(dòng)采集埋點(diǎn)上報(bào)外,還可以自動(dòng)化采集上報(bào),但是交互性和視覺穩(wěn)定性關(guān)鍵指標(biāo),業(yè)界還在探索中,沒有達(dá)成統(tǒng)一的衡量標(biāo)準(zhǔn),因此當(dāng)前必須進(jìn)行手動(dòng)采集。

加載:就是在進(jìn)入頁(yè)面時(shí),頁(yè)面從白頁(yè)加載到顯示的載入過程。在你打開網(wǎng)站頁(yè)面時(shí),你會(huì)發(fā)現(xiàn)有的網(wǎng)站首頁(yè)上的文字、圖片出現(xiàn)得很緩慢,但是有的加載有很快,這個(gè)內(nèi)容出現(xiàn)的過程就是加載過程。

視覺穩(wěn)定性指標(biāo):CLS(Cumulative Layout Shift)也就是布局偏移量,它是指頁(yè)面從一幀切換到另外一幀時(shí),視線中不穩(wěn)定元素的偏移情況。當(dāng)前視覺穩(wěn)定性指標(biāo)CLS比較前沿,它的采集方法除了依賴Google的Lighthouse做本地采集,沒有更好的處理方案。比如說:你正要點(diǎn)擊頁(yè)面購(gòu)買鏈接的時(shí)候,原先的位置突然插入了一個(gè)9.9包郵搶購(gòu)的廣告,那么用戶就點(diǎn)進(jìn)了商品廣告頁(yè)面,你說尷尬不?

交互方面指標(biāo):FID指標(biāo)(First Input Delay,首次輸入延遲)指標(biāo)必須盡量小于100ms,PSI(Perceptual Speed Index,視覺變化率)衡量標(biāo)準(zhǔn)是小于20%。

白屏?xí)r間:指的是從輸入內(nèi)容回車(包括刷新、跳轉(zhuǎn)等方式)后到頁(yè)面開始出現(xiàn)第一個(gè)字符的時(shí)間,標(biāo)準(zhǔn)時(shí)間是300ms。

首屏?xí)r間:首屏?xí)r間的計(jì)算是”首屏?xí)r間=白屏?xí)r間+渲染時(shí)間“。首屏加載是被討論最多的話題,一方面web 前端首屏的加載性能的確普遍較差,另一方面,首屏的加載速度至關(guān)重要,很多時(shí)候過長(zhǎng)的白屏?xí)?dǎo)致用戶還沒有體驗(yàn)到網(wǎng)站功能的時(shí)候就流失了,首屏速度是用戶留存的關(guān)鍵點(diǎn)。

  • 從重要性角度看,在用戶打開頁(yè)面后第一眼看到的內(nèi)容是非常重要的,比如電商頁(yè)面的頭圖、商品價(jià)格、購(gòu)買按鈕等。這些內(nèi)容即使在最惡劣的網(wǎng)絡(luò)環(huán)境下,也要確保用戶能夠看到。
  • 從體驗(yàn)完整性角度看,進(jìn)入頁(yè)面后先是白屏,隨著第一個(gè)字符加載到首屏內(nèi)容顯示結(jié)束,我們才會(huì)認(rèn)為加載完畢,用戶可以使用了。

首屏?xí)r間的標(biāo)準(zhǔn),最初只是根據(jù)這個(gè)頁(yè)面對(duì)時(shí)間的敏感度進(jìn)行判定的,主要以用戶平均首屏加載時(shí)間進(jìn)行計(jì)算的,并沒有詳細(xì)區(qū)分2G/3G/4G/wifi這些網(wǎng)絡(luò)環(huán)境。

注意:最佳:白屏<1s,首屏<1.5s,onload<3s

首屏?xí)r間在1s內(nèi),用戶就會(huì)感覺加載速度很快,如果超過2.5s就會(huì)感到很慢。在1s內(nèi)打開頁(yè)面,人們對(duì)于這么短的時(shí)間敏感度就不是很明顯,感知不出10ms和50ms有啥區(qū)別。當(dāng)?shù)搅?G/3G弱網(wǎng)環(huán)境,或者網(wǎng)絡(luò)不穩(wěn)定的環(huán)境條件下,用戶聯(lián)網(wǎng)加載的時(shí)間會(huì)變得特別長(zhǎng),嚴(yán)重影響整體指標(biāo)。

對(duì)此,又有人們開始采用中位數(shù)坐正態(tài)分布,看分位值統(tǒng)計(jì)。P50(50分位值)、P90(90分位值)、P99(99分位值),以P99為例,就是把所有首屏?xí)r間進(jìn)行排序得到排名第99位的首屏?xí)r間作為指標(biāo),即P99。

后面又引入了指標(biāo):秒開率,即1s內(nèi)打開用戶的占比。

首屏?xí)r間畢竟粒度還是比較粗的,如果首屏?xí)r間太長(zhǎng),白屏?xí)r間段,那么到底是哪里出現(xiàn)的問題呢?

  • 首屏?xí)r間:可以拆分為白屏?xí)r間、數(shù)據(jù)接口響應(yīng)時(shí)間、圖片加載資源時(shí)間等
  • 白屏?xí)r間:數(shù)據(jù)接口響應(yīng)時(shí)間可以直接從后端宿務(wù)中獲取,不需要前端再重復(fù)計(jì)算

6 參考文章

《前端性能優(yōu)化方法與實(shí)踐》

7 寫在最后

本篇文章只是作為《前端性能優(yōu)化筆記系列》文章的開篇,引導(dǎo)讀者對(duì)于性能優(yōu)化體系有個(gè)更好的認(rèn)知,了解相關(guān)的指標(biāo)和指標(biāo),因?yàn)閷W(xué)習(xí)性能優(yōu)化,并不是僅僅掌握一些優(yōu)化技巧而已,更應(yīng)該了解為什么要這樣做?

 

責(zé)任編輯:姜華 來源: 前端萬有引力
相關(guān)推薦

2021-08-10 08:44:13

系統(tǒng)性能優(yōu)化

2023-04-10 11:18:38

前端性能優(yōu)化

2019-11-01 14:00:58

前端性能優(yōu)化代碼

2020-10-16 09:00:12

前端開發(fā)技術(shù)

2022-11-16 12:03:13

性能優(yōu)化前端

2022-05-17 09:02:30

前端性能優(yōu)化

2020-10-16 10:40:39

前端性能可視化

2018-06-27 08:21:31

前端Web渲染

2023-07-10 16:18:18

性能優(yōu)化開發(fā)

2022-01-12 07:48:18

首屏前端性能

2021-05-31 08:30:50

監(jiān)控網(wǎng)站性能

2021-07-05 14:55:28

前端優(yōu)化圖片

2022-03-02 11:13:50

Web前端開發(fā)

2023-09-08 15:37:29

軟件開發(fā)性能

2020-03-09 16:43:06

腳本語言瀏覽器JavaScript

2021-02-02 13:45:31

Vue代碼前端

2012-01-10 16:22:25

Web

2013-01-22 15:27:23

WebWeb前端

2015-10-23 11:15:32

前端性能優(yōu)化

2025-06-03 00:00:06

性能優(yōu)化性能指標(biāo)響應(yīng)時(shí)間
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 亚洲第一天堂无码专区 | 亚洲a级 | 免费国产一区二区视频 | 99久久精品国产麻豆演员表 | 天天色图| 国产成人网 | 日韩高清黄色 | 日韩成人免费视频 | 精品欧美一区免费观看α√ | 亚洲一区中文字幕在线观看 | www.嫩草| 中国大陆高清aⅴ毛片 | 黄色毛片视频 | 久精品视频| 青青草一区二区三区 | 国产福利在线 | 国产精品特级片 | 亚洲国产欧美一区二区三区久久 | 亚洲伊人久久综合 | 久久亚洲一区二区 | 嫩草影院网址 | 欧美韩一区二区三区 | 国产日韩一区二区 | 欧美久久久久久久 | 粉嫩一区二区三区国产精品 | 中文字幕 国产精品 | 亚洲国产精品久久人人爱 | 黄色一级免费 | 欧美国产中文 | 亚洲狠狠爱 | 综合久久网 | 九九99精品 | 国产成人叼嘿视频在线观看 | 欧美一区二区久久 | 中文字幕精品一区二区三区精品 | 久久网一区二区 | 户外露出一区二区三区 | 国产目拍亚洲精品99久久精品 | 99热热| 亚洲精品电影网在线观看 | 国产精品国产三级国产aⅴ无密码 |