背景

掂量页面性能的形式。

参数阐明

具体文字说明:

  • navigationStart 加载起始工夫
  • redirectStart 重定向开始工夫(如果产生了HTTP重定向,每次重定向都和以后文档同域的话,就返回开始重定向的fetchStart的值。其余状况,则返回0)
  • redirectEnd 重定向完结工夫(如果产生了HTTP重定向,每次重定向都和以后文档同域的话,就返回最初一次重定向承受完数据的工夫。其余状况则返回0)
  • fetchStart 浏览器发动资源申请时,如果有缓存,则返回读取缓存的开始工夫
  • domainLookupStart 查问DNS的开始工夫。如果申请没有发动DNS申请,如keep-alive,缓存等,则返回fetchStart
  • domainLookupEnd 查问DNS的完结工夫。如果没有发动DNS申请,同上
  • connectStart 开始建设TCP申请的工夫。如果申请是keep-alive,缓存等,则返回domainLookupEnd
  • (secureConnectionStart) 如果在进行TLS或SSL,则返回握手工夫
  • connectEnd 实现TCP链接的工夫。如果是keep-alive,缓存等,同connectStart
  • requestStart 发动申请的工夫
  • responseStart 服务器开始响应的工夫
  • domLoading 从图中看是开始渲染dom的工夫,具体未知
  • domInteractive 未知
  • domContentLoadedEventStart 开始触发DomContentLoadedEvent事件的工夫
  • domContentLoadedEventEnd DomContentLoadedEvent事件完结的工夫
  • domComplete 从图中看是dom渲染实现工夫,具体未知
  • loadEventStart 触发load的工夫,如没有则返回0
  • loadEventEnd load事件执行完的工夫,如没有则返回0
  • unloadEventStart unload事件触发的工夫
  • unloadEventEnd unload事件执行完的工夫

应用

DNS解析工夫: domainLookupEnd - domainLookupStart
TCP建设连接时间: connectEnd - connectStart
白屏工夫: responseStart - navigationStart
dom渲染实现工夫: domContentLoadedEventEnd - navigationStart
页面onload工夫: loadEventEnd - navigationStart

后果

var timing = performance.timing;var times = {    redirect:timing.redirectEnd - timing.redirectStart,    lookupDomain:timing.domainLookupEnd - timing.domainLookupStart,    connect:timing.connectEnd - timing.connectStart,    request:timing.responseEnd - timing.requestStart};