前端性能優(yōu)化-開篇

前端性能優(yōu)化問題是每個前端需要掌握的技術(shù)漩怎。這篇文章從渲染優(yōu)化怪得、代碼優(yōu)化蚕断、資源優(yōu)化葛假、構(gòu)建優(yōu)化带斑、傳輸加載優(yōu)化挂滓、更多流行優(yōu)化技術(shù)6大角度講解前端性能優(yōu)化亲怠。再講之前,我們先了解一下性能優(yōu)化指標(biāo)和一些測量工具。

一、性能優(yōu)化的指標(biāo)和工具

1.1性能指標(biāo)和優(yōu)化目標(biāo)

RAIL測量模型
R -> response 響應(yīng):處理事件應(yīng)在50ms以內(nèi)完成。Click事件等
A -> animation 動畫:每10ms產(chǎn)生一幀。
I -> Idle 空閑:盡可能添加空閑時間狼讨。
L-> load 加載:5s內(nèi)完成內(nèi)容加載并可以交互犬耻。

1.2性能測量工具

1.2.1WebPageTest多測試地點(diǎn)排苍、全面性能報(bào)告

網(wǎng)址 https://webpagetest.org/


測量結(jié)果(不同的瀏覽器測試結(jié)果項(xiàng)可能不同)


測量結(jié)果中有首次和第二次訪問各項(xiàng)數(shù)據(jù)侈离,這里介紹我們比較關(guān)心的幾項(xiàng)
First Byte 發(fā)出的第一個請求得到響應(yīng)的時間宾濒,反應(yīng)了后臺處理能力和網(wǎng)絡(luò)回路的情況榄棵。
Start Render 首屏渲染時間
First Contentful Paint 首次有內(nèi)容頁面渲染時間
Speed Index 速度指數(shù) 4s合格
Total Blocking Time 頁面被阻塞時間綜合腺怯,不可交互的時間 綠色表示達(dá)標(biāo)

第一輪測量結(jié)果細(xì)節(jié)



瀑布圖



測量結(jié)果各項(xiàng)數(shù)據(jù)很多遂跟,有興趣的同事,可以深入的學(xué)習(xí)啃沪。
1.2.2 Lighthouse網(wǎng)站整體質(zhì)量評估戒良。Chrome開源的一個項(xiàng)目

npm install lighthouse -g 安裝
lighthouse https://www.taobao.com/ 使用 自動打開瀏覽器默認(rèn)是移動端測量薄霜。測試完成后汉矿,會生成測試報(bào)告html文件男翰。

打開測試報(bào)告



Performance 性能
Accessibility 可訪問性
Best Practices 網(wǎng)絡(luò)實(shí)踐
SEO 網(wǎng)站優(yōu)化
Progressive Web App 漸進(jìn)式應(yīng)用

我們只關(guān)注 Performance 測量結(jié)果
First Contentful Paint 第一次有意義內(nèi)容渲染時間
Speed Index 速度指數(shù)
Largest Contentful Paint 最大資源渲染時間
Time to Interactive 可交互時間



Opportunities 優(yōu)化建議为严,羅列出問題,告訴我們怎么去處理稚矿,會優(yōu)化多少時間
Diagnostics 診斷程序性能一些問題跪楞。

1.2.3 Chrome DevTools開發(fā)調(diào)試栅贴、性能評測斟湃。

Chrome DevTools Newwork 網(wǎng)絡(luò)加載分析



Chrome DevTools Performance 性能分析



Timings 頁面加載時間節(jié)點(diǎn)

Main 主線程
Performance 各項(xiàng)性能分析,可以讓我們分析出檐薯,頁面各個節(jié)點(diǎn)時間凝赛,及主線程任務(wù)狀態(tài),性能問題坛缕。
分析項(xiàng)很多墓猎,這里不做太細(xì)節(jié)的分析,感興趣的同事赚楚,可以深入學(xué)習(xí)毙沾。

1.3 常用的性能測量APIs

performance 對象
performance.timing 對象包含很多時間時間節(jié)點(diǎn),可以計(jì)算出任務(wù)耗時



重定向耗時 = redirectEnd - redirectStart;
DNS查詢耗時 = domainLookupEnd - domainLookupStart;
TCP鏈接耗時 = connectEnd - connectStart;
HTTP請求耗時 = responseEnd - responseStart;
解析dom樹耗時 = domComplete - domInteractive;
白屏?xí)r間 = responseStart - navigationStart;
DOMready時間 = domContentLoadedEventEnd - navigationStart;
onload時間 = loadEventEnd - navigationStart;

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末宠页,一起剝皮案震驚了整個濱河市左胞,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌举户,老刑警劉巖烤宙,帶你破解...
    沈念sama閱讀 218,284評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異俭嘁,居然都是意外死亡躺枕,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評論 3 395
  • 文/潘曉璐 我一進(jìn)店門供填,熙熙樓的掌柜王于貴愁眉苦臉地迎上來拐云,“玉大人,你說我怎么就攤上這事近她】ぃ” “怎么了?”我有些...
    開封第一講書人閱讀 164,614評論 0 354
  • 文/不壞的土叔 我叫張陵泄私,是天一觀的道長房揭。 經(jīng)常有香客問我,道長晌端,這世上最難降的妖魔是什么捅暴? 我笑而不...
    開封第一講書人閱讀 58,671評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮咧纠,結(jié)果婚禮上蓬痒,老公的妹妹穿的比我還像新娘。我一直安慰自己漆羔,他們只是感情好梧奢,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,699評論 6 392
  • 文/花漫 我一把揭開白布狱掂。 她就那樣靜靜地躺著,像睡著了一般亲轨。 火紅的嫁衣襯著肌膚如雪趋惨。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,562評論 1 305
  • 那天惦蚊,我揣著相機(jī)與錄音器虾,去河邊找鬼。 笑死蹦锋,一個胖子當(dāng)著我的面吹牛兆沙,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播莉掂,決...
    沈念sama閱讀 40,309評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼葛圃,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了憎妙?” 一聲冷哼從身側(cè)響起装悲,我...
    開封第一講書人閱讀 39,223評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎尚氛,沒想到半個月后诀诊,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,668評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡阅嘶,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,859評論 3 336
  • 正文 我和宋清朗相戀三年属瓣,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片讯柔。...
    茶點(diǎn)故事閱讀 39,981評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡抡蛙,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出魂迄,到底是詐尸還是另有隱情粗截,我是刑警寧澤,帶...
    沈念sama閱讀 35,705評論 5 347
  • 正文 年R本政府宣布捣炬,位于F島的核電站熊昌,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏湿酸。R本人自食惡果不足惜婿屹,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,310評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望推溃。 院中可真熱鬧昂利,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至扩所,卻和暖如春围详,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背碌奉。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評論 1 270
  • 我被黑心中介騙來泰國打工短曾, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留寒砖,地道東北人赐劣。 一個月前我還...
    沈念sama閱讀 48,146評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像哩都,于是被迫代替她去往敵國和親魁兼。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,933評論 2 355

推薦閱讀更多精彩內(nèi)容

  • [TOC] chrome性能優(yōu)化檢測工具 1.谷歌瀏覽器工具資源管理工具network查看 識別network單個...
    時子釋閱讀 1,352評論 0 0
  • 性能優(yōu)化調(diào)研系列文章 《前端性能優(yōu)化(上)》 《前端性能優(yōu)化(中)》 《前端性能優(yōu)化(下)》 為什么要進(jìn)行前端性能...
    9吧和9說9話閱讀 1,344評論 0 0
  • web 的性能一定程度上影響了用戶留存率漠嵌,Google DoubleClick研究表明:如果一個移動端頁面加載時長...
    nimw閱讀 1,387評論 0 11
  • 也許你有聽過一個問題咐汞,你這款 web 應(yīng)用性能怎么樣呀?你會回答什么呢儒鹿?是否會優(yōu)于海量 web 應(yīng)用市場呢化撕?本文就...
    最x程序猿閱讀 732評論 0 0
  • 在前端開發(fā)中,自己開發(fā)的app或者web page性能的好壞约炎,一直是讓前端開發(fā)人員很在意的話題植阴。因?yàn)橛绊懹脩魹g覽網(wǎng)...
    佛系少女_Xx閱讀 4,904評論 0 3