自网站诞生以来,响应速度/响应时间一直都是大家关心的话题,而速度慢乃是网站的一个杀手,正当大家以为四核和宽带能力的提升能够解决这些问题时,Wi-Fi和移动设备为热点移动互联网又悄然兴起。

  在2006年,Amazon曾做过一个报道,响应时间每提高100ms,他们便会增加1%的收入。优化的价值已显而易见,但到底多快才是个标准,或者速度有多快才算够快呢?那么到底什么是响应时间,它有多大的价值?

  从技术上来讲,响应时间是指用户发送一个指令(例如,一个页面请求)浏览器接收到完成加载的时间。定义看起来非常简单,但当你在思考如何设计一个带有许多额外对象的现代网页时,响应时间对用户体验是非常重要的,并且它也不会告诉你,哪些因素影响着响应时间。

  一个稍微好点的衡量标准则是页面加载时间。页面加载时间是指从用户发送指令到浏览器加载完整个页面对象所用的时间。好比响应时间,页面加载整个过程涉及到很多事情,它由一系列执行步骤组成,并且每一步都需要单独监控,每一步都会告诉你问题所在。

  步骤包括:

  • DNS解析时间
  • TCP链接时间
  • HTTP重定向时间
  • 首字节加载时间
  • HTML内容时间
  • 整个页面对象加载时间

  DNS解析时间

  DNS查找的时间就是将域名翻译成具体IP的时间,大多人数认为,无论DNS是否工作,都不是件简单的事情。

  在这个过程中,你可能会遇到许多微妙的问题,比如响应时间太长、超时、无效的缓存等。这些情况下,一个查询便可通过,但它需要花费更多的时间。

 通常,如果DNS的查找时间过长,那么意味着你或托管服务商的DNS服务有问题。记住,如果网站与其DNS服务之间距离太远,那么解析时间也会稍微增加,这在一些国际网站上会体现出来,而有效的缓存则会降低时间。

  TCP链接时间

  当URL被解析成一个IP地址后,TCP链接时间表示客户端链接到服务端所花费的时间。监控链接时间有助于开发者发现一些影响响应时间的问题,比如网络延时、路由问题、服务器宽带问题等。

  例如,如果宽带服务器不足以处理工作负载,那么客户端要先与服务器端意识到这个问题,当客户端向服务器端发送请求时,可能会被拒绝或者时间超时、响应时间延迟等问题。

  HTTP重定向时间

  HTTP重定向时间主要是指TCP链接完成时间,它意味着发送初始通知到重定向网站并且浏览器最终定向到目标网站所花费的时间。如果没有重定向,那么重定向时间就为0。它包括了DNS解析时间、TCP链接等等。

  HTTP重定向可用于缩短URL、当网页链接移动时,可用于防止链接损坏,或允许多个域名链接到一个网站上。

  首字节加载时间

  当开发人员思考如何优化网站时,往往会选择优化内容——文件组合、多媒体优化、缓存和压缩文件,但也有需要对服务器进行优化。其中一个最佳指标就是首字节的加载时间,首字节加载时间表示从链接创建到首字节成功转换所花费的时间。这个时间也包括了服务器执行各种协议和计算的时间。

  通常服务器端遇到与首字节相关的问题包括内存泄露、程序派生的进程太多——没有完全关闭——低效SQL查询,并且调用外部资源,例如谷歌和Facebook。

  HTML内容时间

  HTML内容时间主要包括加载Web页面布局、CSS、JavaScript,这个时间与HTML页面的大小有着直接的关系。HTML内容加载时间通常会作为衡量宽带的一个指标,但也不完全是。

  整个页面对象加载时间

  一旦整个HTML内容被整个接收,浏览器会解析所有的页面对象,并且直到所有对象加载完毕。这些对象包括图片、JavaScript、CSS、Flas对象、RSS回馈、JavaScript文件等。

  衡量全页加载时间对监控第三方内容非常有用,特别是广告,但它并不会告诉你有哪些用户看了这个广告。例如,它不会告诉你第三方内容放在哪加载速度会快些。但站在用户角度来看,这些并不算问题。

  作者对网站的响应时间和页面加载时间进行了详细的划分与解释,相信你对这些指标都有了更深地理解,开发者可以根据这些指标来确定网站的问题所在(如果这方面存在问题)。

  来自:SMARTBEAR

  本文链接:http://www.cnblogs.com/oooweb/p/web-performance-index.html

你知道吗?衡量 Web 性能的几个关键指标的更多相关文章

  1. 从网络通信角度谈web性能优化

    衡量一个网站的性能有多个指标,DNS解析时间,TCP链接时间,HTTP重定向时间,等待服务器响应时间等等,从用户角度来看,就可以归结为该网站访问速度的快慢.也就是说性能等于网站的访问速度. 早些年Am ...

  2. 【Web性能进阶】1.无线网络基础

    一.无所不在的连接 针对不通的使用场景,无线网络技术有很多种. 鉴于无线网络技术如此多样,笼统地概括所有无线网络的性能优化手段是不可能的.好在大多数无线技术的原理都是相通的,衡量性能的指标和约束条件也 ...

  3. Web 性能优化: 使用 Webpack 分离数据的正确方法

    摘要: Webpack骚操作. 原文:Web 性能优化: 使用 Webpack 分离数据的正确方法 作者:前端小智 Fundebug经授权转载,版权归原作者所有. 制定向用户提供文件的最佳方式可能是一 ...

  4. Sentry Web 性能监控 - Metrics

    系列 1 分钟快速使用 Docker 上手最新版 Sentry-CLI - 创建版本 快速使用 Docker 上手 Sentry-CLI - 30 秒上手 Source Maps Sentry For ...

  5. Web性能优化:What? Why? How?

    为什么要提升web性能? Web性能黄金准则:只有10%~20%的最终用户响应时间花在了下载html文档上,其余的80%~90%时间花在了下载页面组件上. web性能对于用户体验有及其重要的影响,根据 ...

  6. 关于WEB 性能优化 (摘抄)

    压缩源代码和图片 JavaScript文件源代码可以采用混淆压缩的方式,CSS文件源代码进行普通压缩,JPG图片可以根据具体质量来压缩为50%到70%,PNG可以使用一些开源压缩软件来压缩,比如24色 ...

  7. Web性能--TCP的构成

    前言:阅读<Web性能权威指南>摘录笔记.在这本书开篇就读到第一句话令人印象深刻: "合格的开发者知道怎么做,而优秀的开发者知道为什么那么做". 内容大纲: 1.因特网 ...

  8. Web性能优化-合并js与css,减少请求

    Web性能优化已经是老生常谈的话题了, 不过笔者也一直没放在心上,主要的原因还是项目的用户量以及页面中的js,css文件就那几个,感觉没什么优化的.人总要进步的嘛,最近在被angularjs吸引着,也 ...

  9. web性能优化——浏览器相关

    简介 优化是一个持续的过程.所以尽可能的不要有人为的参与.所以能自动化的或者能从架构.框架级别解决的就最更高级别解决. 这样即能实现面对开发人员是透明的.不响应,又能确保所有资源都是被优化过的. 场景 ...

随机推荐

  1. lintcode-401-排序矩阵中的从小到大第k个数

    401-排序矩阵中的从小到大第k个数 在一个排序矩阵中找从小到大的第 k 个整数. 排序矩阵的定义为:每一行递增,每一列也递增. 样例 给出 k = 4 和一个排序矩阵: [ [1 ,5 ,7], [ ...

  2. 《构建之法》第6~7章读后感和对Scrum的理解

    第6章 敏捷流程 “敏捷流程”是一系列价值观和方法论的集合.从2001年开始,一些软件界的专家开始倡导“敏捷”的价值观和流程, 他们肯定了流行做法的价值,但是强调敏捷的做法更能带来价值. 敏捷开发原则 ...

  3. 软件工程个人作业3——集大通APP案例分析

    第一部分:调研, 评测 1.第一次上手体验 主要界面截图: 感受: 1.界面不美观: 2.特色功能展现模块不突出,以上截图为打开APP所看到的界面展示,但是这些功能都不是该APP的特色功能,显得有些累 ...

  4. psp 第二周

    11号                                                                              12号 类别c 内容c 开始时间s 结 ...

  5. 2nd 阅读构建之法有感

    阅读构建之法有感 利用这一周的时间,我大致了解构建之法一书,这本书带我走进了一个全新的领域.它让我以一种新的视角去了解软件产业的发展和工作,领略软件工程的独特魅力,更给出了简单易懂的方式去理解何为软件 ...

  6. 关于SIGPIPE信号

    对一个对端已经关闭的socket调用两次write, 第二次将会生成SIGPIPE信号, 该信号默认结束进程.具体的分析可以结合TCP的"四次握手"关闭. TCP是全双工的信道, ...

  7. gulp 定义依赖关系

    var gulp = require('gulp'); // 返回一个 callback,因此系统可以知道它什么时候完成 gulp.task('one', function(cb) { // 做一些事 ...

  8. PHP实现HTML页面静态化

    随着网站的内容的增多和用户访问量的增多,无可避免的是网站加载会越来越慢,受限于带宽和服务器同一时间的请求次数的限制,我们往往需要在此时对我们的网站进行代码优化和服务器配置的优化.一般情况下会从以下方面 ...

  9. Checkbox & Excel

    Checkbox & Excel Q: Excel how to check checkbox? 这个怎么打勾✔ ? A: 可以打勾的 How to Insert and Use a Chec ...

  10. SpringMVC Ajax两种传参方式

    1.采用@RequestParam或Request对象获取参数的方法 注:contentType必须指定为:application/x-www-form-urlencoded @ResponseBod ...