前端性能之Chrome的Waterfall


瀏覽器根據HTML中外連資源出現的順序,依次放入隊列(隊列),然后根據優先級確定向服務器獲取資源的順序。同優先級的資源根據HTML中出現的先后順序來向服務器獲取資源。

瀑布中各項內容的含義:


排隊:  出現下面的情況時,瀏覽器會把當前請求放入隊列中進行排隊

  1. 有更高優先級的請求時
  2. 和目標服務器已經建立了6個TCP鏈接(最多6個,適用於HTTP / 1.0和HTTP / 1.1)     
  3. 瀏覽器正在硬盤緩存上簡單的分配空間

                 
停滯:  請求會因為上面的任一個原因而阻塞


DNS查詢:瀏覽器正在解析IP地址,在瀏覽器和服務器進行通信之前,必須經過DNS查詢,將域名轉換成IP地址。在這個階段,你可以處理的東西很少。但幸運的是,並非所有的請求都需要經過這一階段


代理協商:瀏覽器正在與代理服務器協商請求


要求已發送:請求已發送


ServiceWorker准備:瀏覽器正在啟動服務器


請求ServiceWorker:請求正在被發送到服務器


等待(TTFB):瀏覽器等待響應第一個字節到達的時間。包含來回的延遲時間和服務器准備響應的時間


內容下載:瀏覽器正在接收響應信息


接收推送:瀏覽器正在通過HTTP / 2服務器推送接收此響應的數據


閱讀推:瀏覽器正在讀取以前接收到的本地數據


初始連接:在瀏覽器發送請求之前,必須建立TCP連接。這個過程僅僅發生在瀑布圖中的開頭幾行,否則這就是個性能問題


SSL / TLS協商:如果你的頁面是通過SSL / TLS這類安全協議加載資源,這段時間就是瀏覽器建立安全連接的過程。目前谷歌將HTTPS作為其搜索排名因素之一,SSL / TLS協商的使用變得越來越普遍了

 

時間到第一個字節(TTFB): TTFB是瀏覽器請求發送到服務器的時間+服務器處理請求時間+響應報文的第一字節到達瀏覽器的時間。我們用這個指標來判斷你的網絡服務器是否性能不夠,或者說你是否需要使用CDN

 

 

下載:這是瀏覽器用來下載資源所用的時間。這段時間越長,說明資源越大。理想情況下,你可以通過控制資源的大小來控制這段時間的長度

 

 


瀑布中的顏色:


顯然,瀑中有好幾種顏色:淺灰,深灰,橙色,綠色,藍色結合上面的解釋,大概知道這些顏色代表的含義了:

  • 淺灰:查詢中
  • 深灰:停滯,代理轉發,請求發送
  • 橙色:初始連接
  • 綠色:等待中
  • 藍色:內容下載

除了這些橫向的柱狀圖外,還有一條縱向的紫色的線

 

 

 

紫線是開始通過腳本加載資源的一個臨界線,紫線之前,都是通過HTML文件進行加載的資源,要么是鏈接的SRC,要么是腳本的SRC;而紫線之后,就成了通過執行HTML文件加載進來的js script,進行加載資源的操作。這條線對於前端工程師至關重要,能夠幫助他們進行前端性能優化分析。

 

如何根據瀑布圖進行性能優化


瀑布圖提供了三個直觀的東西來幫助我們進行前端性能優化

首先,減少所有資源的加載時間。亦即減小瀑布圖產品的寬度。瀑布圖越窄,網站的訪問速度越快
其次,減少請求數量也就是降低瀑布圖的高度。瀑布圖越矮越好
最后,通過優化資源請求順序來加快渲染時間。從圖上看,就是將綠色的“開始渲染”線向左移。這條線向左移動的越遠越好
————————————————
版權聲明:本文為CSDN博主「阿竺」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/carian_violet/article/details/84954360


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM