利用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);//在所有接口打时间点
实际输出:

利用window.performance.timing进行性能分析的更多相关文章
- 【转载】利用window.performance.timing进行性能分析
利用window.performance.timing进行性能分析 性能分析... window.performance.timing中相关属性语义: // .navigationStart 准备 ...
- window.performance
利用window.performance查看网页性能 一般我们可以通过浏览器的调试工具-网络面板,或者代理工具查看网页加载过程中的各个阶段的耗时.而利用window.performance属性则可以获 ...
- 使用VisualVM进行性能分析及调优(转)
VisualVM 是一款免费的\集成了多个 JDK 命令行工具的可视化工具,它能为您提供强大的分析能力,对 Java 应用程序做性能分析和调优.这些功能包括生成和分析海量数据.跟踪内存泄漏.监控垃圾回 ...
- 初探performance.timing API
初探performance.timing API 浏览器新提供的performance接口精确的告诉我们当访问一个网站页面时当前网页每个处理阶段的精确时间(timestamp),以方便我们进行前端 ...
- 【Java VisualVM】使用 VisualVM 进行性能分析及调优
转载:https://blog.csdn.net/lmb55/article/details/79267277 一.概述 开发大型 Java 应用程序的过程中难免遇到内存泄露.性能瓶颈等问题,比如文件 ...
- 转:使用 VisualVM 进行性能分析及调优
使用 VisualVM 进行性能分析及调优 VisualVM 是一款免费的\集成了多个 JDK 命令行工具的可视化工具,它能为您提供强大的分析能力,对 Java 应用程序做性能分析和调优.这些功能包括 ...
- [Puppeteer] Get a Page's Load Time with Puppeteer (window.profermence.timing)
In this lesson we are going to use Google's Puppeteer to gather metrics about a page's load time. We ...
- iOS-监听原生H5性能数据window.performance
WebKit-WKWebView iOS8开始苹果推荐使用WKWebview作为H5开发的核心组件,以替代原有的UIWebView,以下是webkit基本介绍介绍: 介绍博客 Webkit H5 - ...
- 使用VisualVM 进行性能分析及调优
概述 开发大型 Java 应用程序的过程中难免遇到内存泄露.性能瓶颈等问题,比如文件.网络.数据库的连接未释放,未优化的算法等.随着应用程序的持续运行,可能会造成整个系统运行效率下降,严重的则会造成系 ...
随机推荐
- Vue中父组件传子组件
父组件代码: <template> <section :class="menuMode === 'vertical' ? 'vertical-sub-nav' : 'sub ...
- location.origin兼容IE
if (window["context"] == undefined) { if (!window.location.origin) { window.location.origi ...
- Salesforce 小知识:大量“子记录”的处理方法
大量"子记录"的存放 例子:系统中导入了很多"联系人"(Contact)记录,它们没有具体所属的"客户"(Account)记录.那么我们就要 ...
- vmware 开启VM的硬件cpu虚拟化功能
物理机的cpu硬件虚拟化功能,通过开启bios中的设置,而vmware中创建的虚拟机也可以开启该特性,如下. 这样的话,就直接可以基于这些VM安装openstack计算节点.控制节点.网络节点了.
- MongoDB的存储结构及对空间使用率的影响
MongoDB的存储结构及对空间使用率的影响 使用MongoDB一段时间的同学肯定会发现,MongoDB往往会占用比实际数据大小多不少空间的问题.如果利用db.stats()命令去查看,会发现Mong ...
- elasticsearch常用命令
elasticsearch的rest访问格式: curl -X<REST Verb> <Node>:<Port>/<Index>/<Type> ...
- asp.net core 2.1 部署IIS(win10/win7)
asp.net core 2.1 部署IIS(win10/win7) 概述 与ASP.NET时代不同,ASP.NET Core不再是由IIS工作进程(w3wp.exe)托管,而是使用自托管Web服务器 ...
- MongoDB 聚合分组取第一条记录的案例及实现
关键字:MongoDB: aggregate:forEach 今天开发同学向我们提了一个紧急的需求,从集合mt_resources_access_log中,根据字段refererDomain分组,取分 ...
- 【记录】文件加密软件 Gilisoft File Lock Pro v11.0 中文注册版
---恢复内容开始--- GiliSoft File Lock Pro 是一款优秀的加密工具,用它可以隐藏或加密文件.文件夹.磁盘分区,而且被加密的文件不会因为被加密(忘记密码)而丢失,可算是很安全的 ...
- 批处理基础知识-IF
本文主要介绍批处理IF命令的使用. IF命令格式: if /i string=string command 释义:判断2个字符串是否相等,但不区分大小写. 例: 代码: @echo off if /i ...