window.performence性能監控


window.performance 接口可以獲取到當前頁面中與性能相關的信息

 

1、performance.navigation:提供了在指定的時間段里發生的操作相關信息,包括頁面是加載還是刷新、發生了多少次重定向等等

引用:https://www.jianshu.com/p/1355232d525a

redirectCount:如果有重定向的話,頁面通過幾次重定向跳轉而來,默認為0;

type:該值的含義表示的頁面打開的方式

  • 0(TYPE_NAVIGATE):表示正常進入該頁面(非刷新、非重定向)。
  • 1(TYPE_RELOAD):表示通過 window.location.reload 刷新的頁面。如果我現在刷新下頁面后,再來看該值就變成1了。
  • 2(TYPE_BACK_FORWARD ):表示通過瀏覽器的前進、后退按鈕進入的頁面。如果我此時先前進下頁面,再后退返回到該頁面后,查看打印的值,發現變成2了。
  • 255(TYPE_RESERVED):表示非以上的方式進入頁面的

 

2、performance.timing:對象包含延遲相關的性能信息

 

 頁面加載各個時間點:

  卸載上一頁面;startTime;redirectStart重定向開始(若需要,則還有上一頁面的unloadEvent);fetchStart准備請求開始;App cache緩存檢查;如果沒有緩存,則DNS查詢,domainLookup域名解析時間;TCP連接connect與secureConnect;request開始請求;response響應;dom解析domInteractive;dom加載domContentLoad;loadEvent時間加載

 

 

性能優化時間計算:

  • DNS查詢耗時 = domainLookupEnd - domainLookupStart
  • TCP鏈接耗時 = connectEnd - connectStart
  • request請求耗時 = responseEnd - responseStart
  • 解析dom樹耗時 = domComplete - domInteractive
  • 白屏時間 = domloadng - fetchStart
  • 請求請求耗時 = responseEnd - responseStart
  • domready時間 = domContentLoadedEventEnd - fetchStart
  • onload時間 = loadEventEnd - fetchStart

 

3、Resource timing API:可以獲取和分析應用資源加載的詳細網絡計時數據,應用程序可以使用時間度量標准來確定加載特定資源所需要的時間

  performance.getEntries

 

 

 

4、性能優化

  4.1、網頁css資源盡量內聯,不要外聯,動態加載需要多次請求

  4.2、重定向優化:重定向會耗時,304緩存

  4.3、DNS優化:減少DNS請求數、DNS預獲取

  4.4、TCP優化:減少HTTP請求數、http1.1響應頭Connection: keep-alive網頁打開后不馬上關閉連接,長鏈接(http1.0為短鏈接,一次網頁經歷三次握手四次揮手)

  4.5:渲染優化:直構HTMl頁面,少用js渲染


免責聲明!

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



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