• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
qiqi105
博客园    首页    新随笔    联系   管理    订阅  订阅

利用window.performance.timing进行性能分析

利用window.performance.timing进行性能分析

 

性能分析。。。

window.performance.timing中相关属性语义:

复制代码
//  .navigationStart 准备加载页面的起始时间
//  .unloadEventStart 如果前一个文档和当前文档同源,返回前一个文档开始unload的时间
//  .unloadEventEnd 如果前一个文档和当前文档同源,返回前一个文档开始unload结束的时间
//  .redirectStart   如果有重定向,这里是重定向开始的时间.
//  .redirectEnd     如果有重定向,这里是重定向结束的时间.
//  .fetchStart        开始检查缓存或开始获取资源的时间
//  .domainLookupStart   开始进行dns查询的时间
//  .domainLookupEnd     dns查询结束的时间
//  .connectStart                  开始建立连接请求资源的时间
//  .connectEnd                     建立连接成功的时间.
//  .secureConnectionStart      如果是https请求.返回ssl握手的时间
//  .requestStart                     开始请求文档时间(包括从服务器,本地缓存请求)
//  .responseStart                   接收到第一个字节的时间
//  .responseEnd                      接收到最后一个字节的时间.
//  .domLoading                       ‘current document readiness’ 设置为 loading的时间 (这个时候还木有开始解析文档)
//  .domInteractive               文档解析结束的时间
//  .domContentLoadedEventStart    DOMContentLoaded事件开始的时间
//  .domContentLoadedEventEnd      DOMContentLoaded事件结束的时间
//  .domComplete        current document readiness被设置 complete的时间
//  .loadEventStart      触发onload事件的时间
//  .loadEventEnd       onload事件结束的时间
复制代码

 

1.主要性能分析指标

一般指标:

复制代码
// DNS查询耗时 = domainLookupEnd - domainLookupStart
// TCP链接耗时 = connectEnd - connectStart
// request请求耗时 = responseEnd - responseStart
// 解析dom树耗时 = domComplete - domInteractive
// 白屏时间 = domloadng - fetchStart
// domready时间 = domContentLoadedEventEnd - fetchStart
// onload时间 = loadEventEnd - fetchStart
复制代码

 

实际前端更关注的指标(需要在实际中结合自身代码):

 

复制代码
console.log('首屏图片加载完成 : ',window.lastImgLoadTime - window.performance.timing.navigationStart); //在最后一张图出来的时候打时间点
console.log('HTML加载完成 : ',window.loadHtmlTime - window.performance.timing.navigationStart);//在HTML后打时间点
console.log('首屏接口完成加载完成 : ',Report.SPEED.MAINCGI - window.performance.timing.navigationStart);//在首屏的接口打时间点
console.log('接口完成加载完成 : ',Report.SPEED.LASTCGI - window.performance.timing.navigationStart);//在所有接口打时间点
复制代码
posted @ 2018-01-05 10:33  qiqi105  阅读(342)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3