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

前端開(kāi)發(fā)工程師必須關(guān)注的幾個(gè)性能指標(biāo)

開(kāi)發(fā) 前端
從各式各樣的前端監(jiān)控平臺(tái)中,你都可以獲得頁(yè)面很多的性能指標(biāo)。本文將介紹幾個(gè)幾個(gè)比較關(guān)鍵的指標(biāo),并給出相應(yīng)的優(yōu)化思路。

[[207965]]

關(guān)于頁(yè)面相應(yīng)時(shí)間,有一條著名的“2-5-8原則”。當(dāng)用戶訪問(wèn)一個(gè)頁(yè)面:

在2秒內(nèi)得到響應(yīng)時(shí),會(huì)感覺(jué)系統(tǒng)響應(yīng)很快;

在2-5秒之間得到響應(yīng)時(shí),會(huì)感覺(jué)系統(tǒng)的響應(yīng)速度還可以;

在5-8秒以內(nèi)得到響應(yīng)時(shí),會(huì)感覺(jué)系統(tǒng)的響應(yīng)速度很慢,但可以接受;

而超過(guò)8秒后仍然無(wú)法得到響應(yīng)時(shí),用戶會(huì)感覺(jué)系統(tǒng)糟透了,進(jìn)而選擇離開(kāi)這個(gè)站點(diǎn),或者發(fā)起第二次請(qǐng)求。

對(duì)于一個(gè)網(wǎng)站如果希望抓住用戶,網(wǎng)站的速度以及穩(wěn)定性是首當(dāng)其沖的。

從各式各樣的前端監(jiān)控平臺(tái)中,你都可以獲得頁(yè)面很多的性能指標(biāo)。本文將介紹幾個(gè)幾個(gè)比較關(guān)鍵的指標(biāo),并給出相應(yīng)的優(yōu)化思路。

開(kāi)始渲染時(shí)間

該時(shí)間點(diǎn)表示瀏覽器開(kāi)始繪制頁(yè)面,在此之前頁(yè)面都是白屏,所以也稱為白屏?xí)r間。

該時(shí)間點(diǎn)可用公式Time To Start Render = TTFB(Time To First Byte) + TTDD(Time To Document Download) + TTHE(Time To Head End)表示。其中TTFB表示瀏覽器發(fā)起請(qǐng)求到服務(wù)器返回***個(gè)字節(jié)的時(shí)間,TTDD表示從服務(wù)器加載HTML文檔的時(shí)間,TTHE表示文檔頭部解析完成所需要的時(shí)間。在高級(jí)瀏覽器中有對(duì)應(yīng)的屬性可以獲取該時(shí)間點(diǎn)。Chrome可通過(guò)chrome.loadTimes().firstPaintTime獲取,IE9+可以通過(guò)performance.timing.msFirstPaint獲取,在不支持的瀏覽器中可以根據(jù)上面公式通過(guò)獲取頭部資源加載完的時(shí)刻模擬獲取近似值。開(kāi)始渲染時(shí)間越快,用戶就能更快的看見(jiàn)頁(yè)面。

對(duì)于該時(shí)間點(diǎn)的優(yōu)化有:

1)優(yōu)化服務(wù)器響應(yīng)時(shí)間,服務(wù)器端盡早輸出

2)減少html文件大小

3)減少頭部資源,腳本盡量放在body中

DOM Ready

該時(shí)間點(diǎn)表示dom解析已經(jīng)完成,資源還沒(méi)有加載完成, 這個(gè)時(shí)候用戶與頁(yè)面的交互已經(jīng)可用了。用公式TimeTo Dom Ready = TTSR(Time To Start Render) + TTDC(Time To Dom Created) + TTST(Time To Script)可以表示。TTSR上面已經(jīng)介紹過(guò)了,TTDC表示DOM樹(shù)創(chuàng)建所耗時(shí)間。TTST表示BODY中所有靜態(tài)腳本加載和執(zhí)行的時(shí)間。在高級(jí)瀏覽器中有DOMContentLoaded事件對(duì)應(yīng),MDN上有關(guān)DOMContentLoaded事件描述的文檔如下,

The DOMContentLoaded event is fired when the document has been completely loaded and parsed, without waiting for stylesheets, images, and subframes to finish loading (the load event can be used to detect a fully-loaded page).

詳細(xì)規(guī)范可以查看W3C的HTML5規(guī)范。從MDN文檔上可以看出該事件主要是指dom文檔加載解析完成,看上去很簡(jiǎn)單,但是DOMContentLoaded事件的觸發(fā)與css,js息息相關(guān),現(xiàn)在有專門(mén)的名詞Critical Rendering Path(關(guān)鍵呈現(xiàn)路徑)來(lái)描述,在文章【關(guān)鍵呈現(xiàn)路徑】中詳細(xì)介紹了關(guān)鍵呈現(xiàn)路徑對(duì)DOMContentLoaded的影響。

在不支持DOMContentLoaded事件的瀏覽器中可以通過(guò)模擬獲取近似值,主要的模擬方法有:

1)低版本webkit內(nèi)核瀏覽器可以通過(guò)輪詢document.readyState來(lái)實(shí)現(xiàn)

2)ie中可通過(guò)setTimeout不斷調(diào)用documentElement的doScroll方法,直到其可用來(lái)實(shí)現(xiàn)

具體實(shí)現(xiàn)方法可以參考主流框架(jquery等)的實(shí)現(xiàn)。 DOM Ready時(shí)間點(diǎn)意味著用戶與頁(yè)面可以進(jìn)行交互了,因此越早越好,對(duì)于該時(shí)間點(diǎn)的優(yōu)化有:

1)減少dom結(jié)構(gòu)的復(fù)雜度,節(jié)點(diǎn)盡可能少,嵌套不要太深

2)優(yōu)化關(guān)鍵呈現(xiàn)路徑

首屏?xí)r間

該時(shí)間點(diǎn)表示用戶看到***屏頁(yè)面的時(shí)間,這個(gè)時(shí)間點(diǎn)很重要但是很難獲取,一般都只能通過(guò)模擬獲取一個(gè)近似時(shí)間。一般模擬方法有:

1)不斷獲取屏幕截圖,當(dāng)截圖不再變化時(shí),可以視為首屏?xí)r間??蓞⒖紈ebPagetest的Speed Index算法;

2)一般影響首屏的主要因素是圖片的加載,通過(guò)頁(yè)面加載完后判斷圖片是否在首屏內(nèi),找出加載最慢的一張即可視為首屏?xí)r間。當(dāng)然還需考慮其他細(xì)節(jié),具體可參考【7天打造前端性能監(jiān)控系統(tǒng)】

針對(duì)該時(shí)間點(diǎn)的優(yōu)化有:

1)頁(yè)面首屏的顯示盡量不要依賴于js代碼,js盡量放到domReady后執(zhí)行或加載

2)首屏外的圖片延遲加載

3)首屏結(jié)構(gòu)盡量簡(jiǎn)單,首屏外的css可延遲加載

onload

該時(shí)間點(diǎn)是window.onload事件觸發(fā)的時(shí)間,表示原始文檔和所有引用的內(nèi)容已經(jīng)加載完成,用戶最明顯的感覺(jué)就是瀏覽器tab上loading狀態(tài)結(jié)束。

該時(shí)間點(diǎn)的優(yōu)化方式有:

1)減少資源的請(qǐng)求數(shù)和文件大小

2)將非初始化腳本放到onLoad之后執(zhí)行

3)無(wú)需同步的腳本異步加載

為了優(yōu)化整站性能,頁(yè)面onload的時(shí)候可以考慮做一些預(yù)加載,把其它頁(yè)面需要用到的資源預(yù)先加載進(jìn)來(lái)。 

責(zé)任編輯:龐桂玉 來(lái)源: 前端大全
相關(guān)推薦

2018-11-29 15:00:27

Java應(yīng)用程序性能指標(biāo)

2023-12-17 14:49:20

前端首屏?xí)r間

2023-11-25 20:16:22

前端

2023-11-20 09:48:13

Linux性能指標(biāo)命令

2010-09-08 11:38:27

2024-06-12 00:00:05

2021-09-08 10:42:45

前端面試性能指標(biāo)

2015-08-26 14:38:27

企業(yè)級(jí)Java性能指標(biāo)

2015-06-17 10:14:57

Java性能指標(biāo)

2011-05-04 13:53:08

jQuery

2024-09-20 08:32:21

2013-06-17 10:19:30

交換機(jī)性能交換機(jī)參數(shù)交換機(jī)

2022-05-02 08:56:04

前端性能指標(biāo)

2015-06-29 13:33:50

APMJAVA企業(yè)級(jí)

2011-06-07 14:16:38

雙絞線

2023-12-29 15:30:41

內(nèi)存存儲(chǔ)

2011-07-28 14:58:49

HP ProLiant服務(wù)器

2023-09-08 15:37:29

軟件開(kāi)發(fā)性能

2021-03-29 08:34:01

Web 性能指標(biāo)

2009-12-11 15:17:35

點(diǎn)贊
收藏

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

主站蜘蛛池模板: 蜜桃视频一区二区三区 | 精品国偷自产在线 | 亚洲一区二区三区在线视频 | 亚洲综合日韩精品欧美综合区 | 欧美成人hd | 日本精品一区二区三区在线观看视频 | 91成人在线视频 | 色视频网站在线观看 | 中文字幕 国产精品 | 精品欧美久久 | 日韩a v在线免费观看 | 男女羞羞视频在线看 | 中文字幕视频在线观看 | 日韩欧美在线视频 | 粉嫩粉嫩芽的虎白女18在线视频 | 午夜视频精品 | 本道综合精品 | 欧洲精品久久久久毛片完整版 | 亚洲免费成人av | 一级片免费视频 | av免费在线观看网站 | 亚洲精品在线观看视频 | 日本精品视频 | 亚洲色图综合 | 中文字幕亚洲精品 | 东方伊人免费在线观看 | 亚洲国产精品久久久久婷婷老年 | 国产精品久久久久久久久久久久久久 | 人人艹人人爽 | 91一区二区三区 | 伊人精品一区二区三区 | jlzzjlzz国产精品久久 | 久草欧美视频 | 男女爱爱福利视频 | 天堂网中文 | 色综合一区二区 | 欧美日韩网站 | 国产综合久久久久久鬼色 | 日韩影院一区 | 国产日韩欧美二区 | 久久综合一区二区 |