摘要:可優化部分請求已被暫停,以等待將要釋放的不可用套接字。合并小文件減少請求。請求被暫停,上,瀏覽器僅允許每個源擁有六個連接。主要是對服務器的保護。中的所有原因加上代理協商所用的任何時間。等待初始響應所用的時間,也稱為至第一字節的時間。
前言
如果我們發現自己頁面加載慢,通常會打開DevTools的Network欄找到具體的慢的請求,那他到底慢在哪呢?
Timing包含的內容Queuing
Stalled/Blocking
Proxy Negotiation
DNS Lookup
Initial Connection / Connecting
SSL
Request Sent / Sending
Waiting (TTFB)
Content Download / Downloading
1、Queuing主要是資源加載的排隊
不可優化部分
請求被渲染引擎推遲,如腳本/樣式會優先,圖片推遲。
生成磁盤緩存條目所用的時間(通常非常迅速)。
可優化部分
請求已被暫停,以等待將要釋放的不可用TCP套接字。
瀏覽器線程池不是無限的,需要等待socket(TCP)釋放。 合并小文件減少請求。
請求被暫停,HTTP 1上,瀏覽器僅允許每個源擁有六個TCP連接。
主要是對服務器的保護。 可以把資源放到不同的域名上,參考`域名發散`。2、Stalled/Blocking
請求等待發送所用的時間。Queuing中的所有原因加上代理協商所用的任何時間。
不可優化部分
Queuing中不可優化部分
代理協商
可優化部分
Queuing中可優化部分
相同的N次請求 緩存鎖,一般資源加載不會加載相同的,但ajax有可能,加timestamp可解決。
注意1:
Stalled是Queuing之后的下一個狀態,Stalled開始時已經出隊,他們太顯著的差別(是否使用proxy/ssl),他們之間沒有and/or/parent/child的關系,有建議將queueing/stalled改名為postponed/awaiting socket,具體可以看看chromium issue。
注意2:
另外,同源鏈接復用可能引發這樣的問題,由于之前存在可用鏈接,此時瀏覽器希望重用之前的連接以節省資源,用之前的一個socket去發起連接,后收到服務器返回的鏈接已重置/不存在,再從原本可用鏈接中找可用鏈接,引發長時間等待,具體可以看看 chrome-stalled-problem-resolving-process3、Proxy Negotiation
與代理服務器連接協商所用的時間。
主要是瀏覽器通過代理服務器去服務目標服務,如本地代理Fiddler,一般無法優化。
4、DNS LookupDNS查詢所用的時間
可優化部分
不要有太多的新域名(可能遞歸查詢繞地球一圈),參考域名收斂。
減少DNS解析路徑(如果內部有很多DNS服務器解析)。
5、Initial Connection / Connecting建立連接所用的時間,包括TCP 握手/重試和協商 SSL的時間。
6、SSL完成SSL握手所用的時間。
可優化部分
需要區分好什么資源需要https,什么需要http。
7、Request Sent / Sending發出網絡請求所用的時間。通常不到一毫秒。
8、Waiting (TTFB)等待初始響應所用的時間,也稱為至第一字節的時間。
可優化部分
* 服務器響應速度 * 服務器網絡帶寬9、Content Download / Downloading
接收響應數據所用的時間。
可優化部分
* 服務器網絡帶寬 * 單個文件大小其他
大佬們總說要寫文章,第一次寫文章,就搬運了一下都感覺好難哦。
有不對的地方歡迎大佬們指出。
參考Understanding Resource Timing
Chrome Cache Lock
Chromium Issues 476749
chrome-stalled-problem-resolving-process
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/52447.html
摘要:可優化部分請求已被暫停,以等待將要釋放的不可用套接字。合并小文件減少請求。請求被暫停,上,瀏覽器僅允許每個源擁有六個連接。主要是對服務器的保護。中的所有原因加上代理協商所用的任何時間。等待初始響應所用的時間,也稱為至第一字節的時間。 前言 如果我們發現自己頁面加載慢,通常會打開DevTools的Network欄找到具體的慢的請求,那他到底慢在哪呢? Timing包含的內容 showIm...
摘要:性能時間線以一個統一的接口獲取由和所收集的性能數據。瀏覽器支持下表列舉了當前主流瀏覽器對性能的支持,其中標注星號的內容并非來自于性能工作小組。 頁面的性能問題一直是產品開發過程中的重要一環,很多公司也一直在使用各種方式監控產品的頁面性能。從控制臺工具、Fiddler抓包工具,到使用DOMContentLoaded和document.onreadystatechange這種侵入式java...
摘要:獲取一組當前頁面已經加載的資源對象。為時,表示資源的路徑。超出時,清空所有為的資源數據。為的資源數量超出設置值的時候會觸發該事件。自定義計時接口創建一個保存在資源緩存數據中,可通過等相關接口獲取。返回一個包含對象所有屬性的對象。 簡介 performance是html5的新特性之一,通過它,頁面的開發者們可以非常精確的統計到自己頁面的表現情況,從而有針對性的進行優化,提升用戶體驗。 下...
閱讀 2422·2021-11-11 11:01
閱讀 3296·2021-10-11 10:57
閱讀 2656·2021-09-30 09:46
閱讀 3497·2021-07-26 23:38
閱讀 1573·2019-08-29 12:22
閱讀 655·2019-08-29 11:28
閱讀 2359·2019-08-26 14:04
閱讀 3059·2019-08-23 18:34