热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

你知道吗?衡量Web性能的几个关键指标

自网站诞生以来,响应速度响应时间一直都是大家关心的话题,而速度慢乃是网站的一个杀手,正当大家以为四核和宽带能力的提升能够解决这些问题时&#

  自网站诞生以来,响应速度/响应时间一直都是大家关心的话题,而速度慢乃是网站的一个杀手,正当大家以为四核和宽带能力的提升能够解决这些问题时,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

转:https://www.cnblogs.com/oooweb/p/web-performance-index.html



推荐阅读
  • 本文详细介绍了Java代码分层的基本概念和常见分层模式,特别是MVC模式。同时探讨了不同项目需求下的分层策略,帮助读者更好地理解和应用Java分层思想。 ... [详细]
  • 近期,微信公众平台上的HTML5游戏引起了广泛讨论,预示着HTML5游戏将迎来新的发展机遇。磊友科技的赵霏,作为一名HTML5技术的倡导者,分享了他在微信平台上开发HTML5游戏的经验和见解。 ... [详细]
  • 浅析python实现布隆过滤器及Redis中的缓存穿透原理_python
    本文带你了解了位图的实现,布隆过滤器的原理及Python中的使用,以及布隆过滤器如何应对Redis中的缓存穿透,相信你对布隆过滤 ... [详细]
  • 探索Web 2.0新概念:Widget
    尽管你可能尚未注意到Widget,但正如几年前对RSS的陌生一样,这一概念正逐渐走入大众视野。据美国某权威杂志预测,2007年将是Widget年。本文将详细介绍Widget的定义、功能及其未来发展趋势。 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • javascript分页类支持页码格式
    前端时间因为项目需要,要对一个产品下所有的附属图片进行分页显示,没考虑ajax一张张请求,所以干脆一次性全部把图片out,然 ... [详细]
  • 秒建一个后台管理系统?用这5个开源免费的Java项目就够了
    秒建一个后台管理系统?用这5个开源免费的Java项目就够了 ... [详细]
  • 本文总结了Java初学者需要掌握的六大核心知识点,帮助你更好地理解和应用Java编程。无论你是刚刚入门还是希望巩固基础,这些知识点都是必不可少的。 ... [详细]
  • 使用ArcGIS for Java和Flex浏览自定义ArcGIS Server 9.3地图
    本文介绍了如何在Flex应用程序中实现浏览自定义ArcGIS Server 9.3发布的地图。这是一个基本的入门示例,适用于初学者。 ... [详细]
  • 用阿里云的免费 SSL 证书让网站从 HTTP 换成 HTTPS
    HTTP协议是不加密传输数据的,也就是用户跟你的网站之间传递数据有可能在途中被截获,破解传递的真实内容,所以使用不加密的HTTP的网站是不 ... [详细]
  • 深入解析HTML5字符集属性:charset与defaultCharset
    本文将详细介绍HTML5中新增的字符集属性charset和defaultCharset,帮助开发者更好地理解和应用这些属性,以确保网页在不同环境下的正确显示。 ... [详细]
  • MySQL 5.7 学习指南:SQLyog 中的主键、列属性和数据类型
    本文介绍了 MySQL 5.7 中主键(Primary Key)和自增(Auto-Increment)的概念,以及如何在 SQLyog 中设置这些属性。同时,还探讨了数据类型的分类和选择,以及列属性的设置方法。 ... [详细]
  • window下的python安装插件,Go语言社区,Golang程序员人脉社 ... [详细]
  • 本文介绍了如何利用HTTP隧道技术在受限网络环境中绕过IDS和防火墙等安全设备,实现RDP端口的暴力破解攻击。文章详细描述了部署过程、攻击实施及流量分析,旨在提升网络安全意识。 ... [详细]
  • 在软件开发过程中,经常需要将多个项目或模块进行集成和调试,尤其是当项目依赖于第三方开源库(如Cordova、CocoaPods)时。本文介绍了如何在Xcode中高效地进行多项目联合调试,分享了一些实用的技巧和最佳实践,帮助开发者解决常见的调试难题,提高开发效率。 ... [详细]
author-avatar
wen-1225
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有