详解网页性能参数 performance API

详解网页性能参数 performance


本文要点:

  1. 介绍浏览器核心工作流程;
  2. 介绍 performance 对象及方法。通过 performance 对象详解网页各项资源耗时及内存占用情况(精确到每个资源的DNS 解析时间,TCP连接时间等)。

浏览器核心工作

从输入 url 到页面呈现,浏览器核心工作过程如下:
在这里插入图片描述
上图相关的时间点。
第 1 步 开始计时
startTime:记录开始时间。

第 2 步 重定向
redirectStart:重定向开始时间。
redirectEnd:重定向结束时间。

第 3 步 浏览器与服务器连接
fetchStart:浏览器发起 HTTP 请求时间。
domainLookupStart:DNS 查询开始时间。
domainLookupEnd:DNS 查询结束时间。
connectStart:TCP 连接开始时间。
connectEnd:TCP 连接结束时间。

第 4 步 浏览器与服务器数据交互
secureConnectionStart:浏览器跟服务器建立安全连接的时间。
requestStart:浏览器向服务器开始发送数据的时间。
responseStart:服务器向浏览器开始发送数据的时间。
responseEnd:服务器向浏览器结束发送数据的时间。

第 5 步 浏览器 DOM 解析
domLoading:DOM 开始解析的时间。
domInteractive:DOM 解析完成,开始加载内嵌资源的时间。
domContentLoadedEventStart:需要被执行的脚本已经被解析的时间。
domContentLoadedEventEnd:需要立即执行的脚本已经被执行的时间。
domComplete:文档解析完毕的时间。

performance 对象

用谷歌浏览器打开任意网页,进入调试模式(快捷键 F12)。在谷歌浏览器 Console 选项中输入 performance 回车,可以看到一系列的参数。

对象属性说明
timeOrigin性能测量开始的时间戳
onresourcetimingbufferfull超过浏览器缓存区回调函数
memorytotalJSHeapSizeJS 合计可使用内存大小
usedJSHeapSizeJS 已使用内存大小
jsHeapSizeLimitJS 限制内存大小
navigationtype导航到该页面的方式,0表示点击连接或者表单提交;1表示刷新页面或者reload()方法;2表示历史记录或者前进后退;255表示其他任何方式。
redirectCount到达页面之前重定向次数
timingnavigationStart同一个浏览器上下文的上一个文档卸载结束时的时间戳,如果没有上一个文档,这个值会和 fetchStart 相同。
unloadEventStartunload 事件抛出时的时间戳,如果没有上一个文档,这个值会是0。
unloadEventEndunload 事件处理完成的时间戳,如果没有上一个文档,这个值会是0。
redirectStart第一个HTTP重定向开始时的时间戳,没有重定向或者重定向中的不同源,这个值会是0。
redirectEnd最后一个HTTP重定向开始时的时间戳,没有重定向或者重定向中的不同源,这个值会是0。
fetchStart浏览器准备好使用HTTP请求来获取文档的时间戳。发送在检查缓存之前。
domainLookupStart域名查询开始的时间戳,如果使用了持续连接或者缓存,则与 fetchStart 一致。
domainLookupEnd域名查询结束的时间戳,如果使用了持续连接或者缓存,则与 fetchStart 一致。
connectStartHTTP 请求开始向服务器发送时的时间戳,如果使用了持续连接,则与 fetchStart 一致。
connectEnd浏览器与服务器之间连接建立(所有握手和认证过程全部结束)的时间戳,如果使用了持续连接,则与 fetchStart 一致。
secureConnectionStart浏览器与服务器开始安全链接握手时的时间戳,如果当前网页不需要安全连接,这个值会是 0。
requestStart浏览器向服务器发出HTTP请求的时间戳。
responseStart浏览器从服务器收到(或从本地缓存读取)第一个字节时的时间戳。
responseEnd浏览器从服务器收到(或从本地缓存读取)最后一个字节时(如果在此之前HTTP连接已经关闭,则返回关闭时)的时间戳。
domLoading当前网页DOM结构开始解析时的时间戳。
domInteractive当前网页DOM结构解析完成,开始加载内嵌资源时的时间戳。
domContentLoadedEventStart需要被执行的脚本已经被解析的时间戳。
domContentLoadedEventEnd需要立即执行的脚本已经被执行的时间戳。
domComplete当前文档解析完成的时间戳。
loadEventStartload事件被发送时的时间戳,如果这个事件还未被发送,它的值将会是0。
loadEventEndload事件结束时的时间戳,如果这个事件还未被发送,它的值将会是0。

示例如下:在这里插入图片描述
domComplete - navigationStart = 首屏加载时间。
重定向次数:performance.navigation.redirectCount

重定向耗时: redirectEnd - redirectStart

DNS 解析耗时: domainLookupEnd - domainLookupStart

TCP 连接耗时: connectEnd - connectStart

SSL 安全连接耗时: connectEnd - secureConnectionStart

网络请求耗时 (TTFB): responseStart - requestStart

数据传输耗时: responseEnd - responseStart

DOM 解析耗时: domInteractive - responseEnd

资源加载耗时: loadEventStart - domContentLoadedEventEnd

首包时间: responseStart - domainLookupStart

白屏时间: responseEnd - fetchStart

首次可交互时间: domInteractive - fetchStart

DOM Ready 时间: domContentLoadEventEnd - fetchStart

页面完全加载时间(load): loadEventStart - fetchStart

http 头部大小: transferSize - encodedBodySize

performance 方法

  1. performance.getEntries()
    查看所有资源具体消耗时间。
    在这里插入图片描述
    最底部的 duration 属性就是该资源所需的合计时间。与 NetWork 选项中的 Timing 中的时间差不多。

在这里插入图片描述

  1. performance.getEntriesByType(type)
    performance.getEntries() 方法可以查询所有资源的耗时,也可以根据资源类型来查看某种类型的资源耗时。
    以上 1 中展开的属性里有个 entryType 属性为 “resource”。所以可以使用performance.getEntriesByType("resource")查询所有静态资源。
    在这里插入图片描述
  2. performance.getEntriesByName(name, type)
    以上 1 中展开的属性里有个 name 属性为 “https://g.csdnimg.cn/tingyun/1.8.3/blog-m.js”。因此执行方法performance.getEntriesByName("https://g.csdnimg.cn/tingyun/1.8.3/blog-m.js","resource")查询指定的静态资源耗时。
    在这里插入图片描述
  • 12
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
35kV电力电缆是一种高压电力输电线路,其技术参数对于电力系统的稳定运行和安全性至关重要。以下是35kV电力电缆的主要技术参数及其详细解释。 1. 额定电压:35kV电力电缆的额定电压为35千伏,表示其可以承受的最高电压为35千伏。这是为了适应高压输电需要而设计的,确保电缆在正常工作中不会发生电击或击穿现象。 2. 绝缘材料:35kV电力电缆采用高绝缘材料,如交联聚乙烯(XLPE)或橡胶。这些绝缘材料具有良好的绝缘性能和耐热性能,能够在高压、高温环境下保持电缆的绝缘性能。 3. 截面面积:35kV电力电缆的截面面积通常较大,以便传输大功率。截面面积的大小决定了电缆的导电能力,较大的截面面积可以传输更大的电流。 4. 长度:35kV电力电缆的长度根据输电线路的布置和需求而定。在安装和布线过程中,需要根据实际情况进行测量和切割,以确保电缆的长度适合工程需求。 5. 绝缘层厚度:绝缘层厚度是指绝缘材料在电缆中的厚度,用于隔绝电缆的金属导体和外部环境。35kV电力电缆的绝缘层厚度较大,以提供足够的绝缘强度和线路的安全性。 6. 抗拉强度:35kV电力电缆需要具有足够的抗拉强度,以抵抗电线张力和外部压力,确保电缆在安装和使用过程中不会断裂或损坏。 综上所述,35kV电力电缆的技术参数包括额定电压、绝缘材料、截面面积、长度、绝缘层厚度和抗拉强度等。这些参数的选择和设计直接影响着电缆的性能和使用寿命,对于电力系统的稳定运行至关重要。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值