Chrome開發者工具:利用網絡面板做性能分析

(一)瀏覽器開發者工具面板功能

1. 網絡面板

網絡面板由控制器、過濾器、抓圖信息、時間線、詳細列表和下載信息概要這 6 個區域構成(如下圖所示)。

(1)控制器

其中,控制器有 4 個比較重要的功能

1. 紅色圓點的按鈕,表示“開始 / 暫停抓包”

2.“全局搜索”按鈕,可以在所有下載資源中搜索相關內容,還可以快速定位到某幾個你想要的文件上。

3. Disable cache,即“禁止從 Cache 中加載資源”的功能,它在調試 Web 應用的時候非常有用,因爲開啓了 Cache 會影響到網絡性能測試的結果。清除緩存加載

4. Online 按鈕,是“模擬 2G/3G”功能,它可以限制帶寬,模擬弱網情況下頁面的展現情況,然後你就可以根據實際展示情況來動態調整策略,以便讓 Web 應用更加適用於這些弱網。

search 功能:

(2)下載信息概要

下載信息概要中,重點關注下 DOMContentLoaded 和 Load 兩個事件,以及這兩個事件的完成時間。

DOMContentLoaded,這個事件發生後,說明頁面已經構建好 DOM 了,這意味着構建 DOM 所需要的 HTML 文件、JavaScript 文件、CSS 文件都已經下載完成了。

Load,說明瀏覽器已經加載了所有的資源(圖像、樣式表等)。

(3)詳情列表

接口請求流程:

發起一個 HTTP 請求之後,瀏覽器首先查找緩存,如果緩存沒有命中,那麼繼續發起 DNS 請求獲取 IP 地址,然後利用 IP 地址和服務器端建立 TCP 連接,再發送 HTTP 請求,等待服務器響應;不過,如果服務器響應頭中包含了重定向的信息,那麼整個流程就需要重新再走一遍。這就是在瀏覽器中一個 HTTP 請求的基礎流程。

時間線解析:

1. 第一個是 Queuing

也就是排隊的意思,當瀏覽器發起一個請求的時候,會有很多原因導致該請求不能被立即執行,而是需要排隊等待。

2. 等待排隊完成之後,就要進入發起連接的狀態了。不過在發起連接之前,還有一些原因可能導致連接過程被推遲,這個推遲就表現在面板中的 Stalled 上,它表示停滯的意思。

3. 數據發送出去了,接下來就是等待接收服務器第一個字節的數據,這個階段稱爲 Waiting (TTFB),通常也稱爲“第一字節時間”。 TTFB 是反映服務端響應速度的重要指標,對服務器來說,TTFB 時間越短,就說明服務器響應越快。

4. 接收到第一個字節之後,進入陸續接收完整數據的階段,也就是 Content Download 階段,這意味着從第一字節時間到接收到全部響應數據所用的時間。

5. 優化時間線上耗時:

瞭解了時間線面板上的各項含義之後,我們就可以根據這個請求的時間線來實現相關的優化操作了。

1. 排隊(Queuing)時間過久排隊時間過久,大概率是由瀏覽器爲每個域名最多維護 6 個連接導致的。那麼基於這個原因,你就可以讓 1 個站點下面的資源放在多個域名下面,比如放到 3 個域名下面,這樣就可以同時支持 18 個連接了,這種方案稱爲域名分片技術。除了域名分片技術外,還可以把站點升級到 HTTP2,因爲 HTTP2 已經沒有每個域名最多維護 6 個 TCP 連接的限制了。

2. 第一字節時間(TTFB)

時間過久這可能的原因有如下:

服務器生成頁面數據的時間過久。對於動態網頁來說,服務器收到用戶打開一個頁面的請求時,首先要從數據庫中讀取該頁面需要的數據,然後把這些數據傳入到模板中,模板渲染後,再返回給用戶。服務器在處理這個數據的過程中,可能某個環節會出問題。網絡的原因。比如使用了低帶寬的服務器,或者本來用的是電信的服務器,可聯通的網絡用戶要來訪問你的服務器,這樣也會拖慢網速。發送請求頭時帶上了多餘的用戶信息。比如一些不必要的 Cookie 信息,服務器接收到這些 Cookie 信息之後可能需要對每一項都做處理,這樣就加大了服務器的處理時長。面對第一種服務器的問題,可以想辦法去提高服務器的處理速度,比如通過增加各種緩存的技術;針對第二種網絡問題,可以使用 CDN 來緩存一些靜態文件;至於第三種,在發送請求時就去儘可能地減少一些不必要的 Cookie 數據信息。

3. Content Download 時間過久如果單個請求的 Content Download 花費了大量時間,有可能是字節數太多的原因導致的。這時候就需要減少文件大小,比如壓縮、去掉源碼中不必要的註釋等方法。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章