1. 程式人生 > >谷歌瀏覽器network請求時間分析!

谷歌瀏覽器network請求時間分析!


不同顏色的橫向柱條表示不同的含義:  
 (1).Stalled(阻塞)
  瀏覽器得到要發出這個請求的指令,到請求可以發出的等待時間,一般是代理協商、以及等待可複用的TCP連線釋放的時間,不包括DNS查詢、建立TCP連線等時間等。
  瀏覽器對同一個主機域名的併發連線數有限制,因此如果當前的連線數已經超過上限,那麼其餘請求就會被阻塞,等待新的可用連線;此外指令碼也會阻塞其他元件的下載;

優化措施:
  1、將資源合理分佈到多臺主機上,可以提高併發數,但是增加並行下載數量也會增大開銷,這取決於頻寬和CPU速度,過多的並行下載會降低效能;
  2、指令碼置於頁面底部;

(2)DNS Lookup(域名解析)

  請求某域名下的資源,瀏覽器需要先通過DNS解析器得到該域名伺服器的IP地址。在DNS查詢完成之前,瀏覽器不能從主機名那裡下載到任何東西。

優化措施:
  1、利用DNS快取(設定TTL時間);
  2、利用Connection:keep-alive特性建立持久連線,可以在當前連線上進行多個請求,無需再進行域名解析;

(3)Initial connection(初始化連線)
  TCP建立連線的三次握手時間

(4)Request sent(傳送請求)
  請求第一個位元組發出前到最後一個位元組發出後的時間,也就是上傳時間。
  傳送HTTP請求的時間(從第一個bit到最後一個bit)

優化措施:
  1、減少HTTP請求,可以使用CSS Sprites、內聯圖片、合併指令碼和樣式表等;

  2、對不常變化的元件新增長久的Expires頭(相當於設定久遠的過期時間),在後續的頁面瀏覽中可以避免不必要的HTTP請求;


(3)Waiting(等待響應)
  請求發出後,到收到響應的第一個位元組所花費的時間(Time To First Byte)。
  通常是耗費時間最長的。從傳送請求到收到響應之間的空隙,會受到線路、伺服器距離等因素的影響。

優化措施:
  1、使用CDN,將使用者的訪問指向距離最近的工作正常的快取伺服器上,由快取伺服器直接響應使用者請求,提高響應速度;

(4)Content Download(下載)
  收到響應的第一個位元組,到接受完最後一個位元組的時間,就是下載時間。

  下載HTTP響應的時間(包含頭部和響應體)

優化措施:
  1、通過條件Get請求,對比If-Modified-Since和Last-Modified時間,確定是否使用快取中的元件,伺服器會返回“304 Not Modified”狀態碼,減小響應的大小;
  2、移除重複指令碼,精簡和壓縮程式碼,如藉助自動化構建工具grunt、gulp等;
  3、壓縮響應內容,伺服器端啟用gzip壓縮,可以減少下載時間;