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渲染

posted @ 2021-11-10 14:41  Jacky02  阅读(467)  评论(0)    收藏  举报