`

度量网页加载性能的几个时间指标(转)

 
阅读更多
度量网页加载性能的几个时间指标
2011年06月16日 星期四 上午 11:48

AliPage是一款网页性能探测工具,该工具对下发任务指定的URL进行探测。可以获得本地浏览器下载并展现指定网页的网页对象元素信息,包括下 载网页中的图片和js等网页对象所需的DNS解析用时(DNS Time)、TCP连接用时(Socket Time)、对象下载开始时间(FirstByte Time)、下载完成用时(Download Time)、下载该对象的 发送(Out)和接收数据大小(In)、该对象所在服务器的IP、Http响应状态代码(Response Code),整个网页的渲染开始时间(TTSR(time to start render))、网页文档下载完成时间(TTDC(time to document complete))和完全加载时间(TTFL(time to full loaded))。其中直接上报的数据包括开始渲染时间、网页文档下载完成时间、完全加载时间和响应的状态码。

       开始渲染时间(TTSR) 当浏览器访问某个网页时,从客户端开始发 起请求,到客户端浏览器开始看到非空网页对象。用户越早看到浏览器的内容,心理上的等待时间就越短。获得该时间点的方式:在网页请求过程中,会出现一些状 态的切换,包括READYSTATE_UNINITIALIZED、READYSTATE_LOADING、READYSTATE_LOADED、 READYSTATE_INTERACTIVE、READYSTATE_COMPLETE等状态,首先判断当请求状态是否为 READYSTATE_INTERACTIVE或READYSTATE_COMPLETE,其次获得当前已经得到的网页元素、body体,如果都存在则认 为已经开始渲染。这样判断开始渲染时间实际上并不准确,不同网页的开始渲染时间与网页本身的设计、客户端的环境有很大关系。例如如果客户端繁忙,即使已经 有一些网页元素下载完毕,浏览器并不一定开始渲染;有的网站一张图片会被切成很多小的图片,这样一张图片的一部分即可以开始渲染,不必等待整张图片全部 download之后才开始渲染,有的网页则没有做这样的优化。

  网页文档下载完成时间(TTDC) 文档加载完成时间,一般来说是指DOM结构 加载完成,等价于浏览器onload()事件的触发点。documentcomplete()事件可以捕捉到该时间点,但是对于一个网页,该事件与每一个 frame对应,所以一个网页会有多次documentcomplete()事件触发。记录该时间点时可以首先判断当前被触发的 documentcomplete()事件是否是最后一次被触发(最上层的frame完成),然后记录该时间点,并且把过程中每一个request相关的 数据写入文件,不必每次该事件触发时都去写文件。

  完全加载时间(TTFL) 顾名思义,是指整个网页完全加载的时间。但是,严格 地说,该时间点并没有严格的定义,当网页文档下载完成后(onload事件之后),会有后续的JS脚本、图片等请求继续运行,JS脚本和图片、视频等元素 在何时被请求、下载取决于网页本身的设计。目前AliPage计算该时间的方式为,onload事件之后5s内最后一个http请求活动的时刻为完全加载 截止时刻,此时,可能会有新的请求还没被触发、已经发出的请求未返回的情况存在。

  一种获取该时间的算法,在三种情况下认为网页已经完全加载:

  第一,在设定的时间间隔内(2s)没有新的请求则认为已经完全加载;

  第二,在设定的时间间隔(2s)内没有新的请求,并且在设定的时间间隔(30s)内,onload事件之前的请求在30s内没有新的数据传送活动,则认为已经完全加载。

  第三,在onload事件之后一定时间间隔内(2s)有新的请求,并且这些请求在一定时间内(60s)内没有新的数据传送活动,则认为已经完全加载。

  对于某些页面,例如带有视频、大文件的页面,完全加载时间的价值并不大,所以我们采用何种策略、对各个时间间隔大小的设定要根据我们拿到这个数据后的用途来确定,这样拿到的数据才更有针对性的意义。

分享到:
评论

相关推荐

    ProgressiveWebApps性能度量和审计lighthouse

    Lighthouse主要关注以下几个关键领域的性能度量: 1. **性能**:这是Lighthouse的核心关注点,它评估页面加载速度和交互响应时间。它通过指标如Time to Interactive (TTI)、First Contentful Paint (FCP) 和 ...

    Web性能测试方案.pdf

    该方案涵盖了测试目的、测试范围、性能度量指标、测试内容等几个方面。 测试目的 Web性能测试的主要目的是检验当前系统所处的性能水平,验证其性能是否能满足未来应用的需求,并进一步找出系统设计上的瓶颈,以期...

    软件性能测试调优

    性能测试通常涉及以下几种类型的测试: **1. 性能测试 (Performance Testing)** - 目的: 模拟实际生产环境中的业务量和使用场景,验证系统是否能满足生产性能要求。 - 关键指标: 最大吞吐量与最佳响应时间。 **2. ...

    基于大数据的全球电商系统架构性能优化 - 阿里巴巴速卖通技术部总监 - 郭东白

    并且这个模式被复制到了阿里巴巴全集团十几个BU, 其中包括淘宝、天猫、聚划算和阿里云。 听众受益: (1)学习大数据性能建模方法和基于大数据的实时度量性能损耗(因为性能不好而损失的订单占比)方法 (2)学习...

    性能测试与LoadRunner培训教材.

    在性能测试中,有几个核心的概念需要理解: 1. 响应时间:这是指用户请求到系统给出响应所需的时间,包括网络延迟、服务器处理时间和数据传输时间。它是衡量用户体验的重要指标,通常期望响应时间越短越好。 2. ...

    基于门控循环单元(GRU)的时间序列预测 评价指标包括:R2、MAE、MSE、RMSE和MAPE等,代码质量极高,方便学习和

    以下是几个关键的评估指标: 1. R2(决定系数):衡量模型预测值与实际值之间的相关性。R2值越接近1,表示模型解释了更多的数据变异。 2. MAE(平均绝对误差):计算模型预测值与真实值之间差值的平均绝对值。MAE...

    事务响应时间和页面下载时间有什么区别

    页面下载时间可以进一步细分为以下几个阶段: 1. **握手时间**:即连接建立时间,通常指的是TCP/IP三次握手的时间。这是客户端与服务器建立通信链接所需的时间。 2. **FirstBufferTime**:从握手成功开始计算,到...

    性能测试及LoadRunner简单介绍

    LoadRunner中的几个关键术语包括事务(度量服务器响应时间)、集合点(同步多个虚拟用户)、注释(描述测试活动)、函数(辅助测试的功能)、参数(动态数据)和关联(处理动态内容,如验证码)。VuGen的"Compare ...

    ILCHMLS1314

    根据提供的信息,我们可以推断出该文档主要涉及的是与软件加载相关的性能度量,特别是针对特定组件和服务的加载时间分析。然而,由于标题、描述和标签均为无意义的字符串"ILCHMLS1314",因此我们无法直接从这些信息...

    性能测试种类_转载网友

    性能测试主要针对WEB系统,虽然测试方法可能各有差异,但目的是相同的,即验证系统的响应时间、吞吐量、稳定性、容量等关键性能指标。性能测试不仅能够发现性能缺陷,如内存溢出和并发处理问题,更能发现系统的瓶颈...

    jvm-profiler,jvm分析器向kafka、控制台输出或自定义报告器发送度量.zip

    在使用JVM Proffiler时,我们需要关注以下几个步骤: 1. **集成部署**:将JVM Profiler添加到Hadoop或Spark的配置中,启动代理服务。 2. **参数配置**:根据实际需求调整监控的度量项和粒度,以及数据输出的路径和...

    行业分类-设备装置-基于Java平台的Web应用系统业务性能监测方法.zip

    "基于Java平台的Web应用系统业务性能监测方法"主要涵盖以下几个关键知识点: 1. **Java平台**:Java是一种跨平台的编程语言,广泛用于开发Web应用。它的“一次编写,到处运行”特性使得Java应用能够在不同的操作...

    前端项目-page-accelerator.zip

    该项目可能包含以下几个关键知识点: 1. **代码分割**:`pageAccelerator`可能会利用Webpack或其他模块打包工具进行代码分割,确保只加载用户当前需要的代码,减少首屏加载时间。 2. **懒加载**:对于非首屏内容,...

    提高ASP.NET应用程序性能方法浅析

    对于ASP.NET应用,主要关注以下几个指标:页面加载时间、请求响应时间、并发用户处理能力以及服务器资源利用率(如CPU、内存和I/O)。这些指标可以帮助我们识别性能瓶颈并制定相应的优化策略。 1. **代码优化**:...

    广告投放代码和创意代码持续优化

    1. **去除脚本阻滞**:传统的`document.write`会导致脚本阻塞,影响页面加载性能。 2. **动态度量代码性能不佳**:动态度量代码由于逻辑复杂、分散,可能会影响整体性能。 3. **创意缺乏统一规划**:广告创意在设计...

    .Net Performance Testing And Optimization

    - **度量数据**:定义需要收集的关键指标,如首次字节传输时间(Time to First Byte)、总页面响应时间等。 #### 五、性能与负载测试指标 - **基本指标**:这些指标是性能测试的基础,包括但不限于: - CPU利用率...

Global site tag (gtag.js) - Google Analytics