- 浏览: 482643 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
alvin198761:
renzhengzhi 写道我参与过12306余票查询系统的开 ...
别给12306 辩解了 -
renzhengzhi:
我参与过12306余票查询系统的开发,用户请求被前面3层缓存拦 ...
别给12306 辩解了 -
renzhengzhi:
写的很好。
JAVA线程dump的分析 -
liyonghui160com:
说好的附件呢
分布式服务框架 Zookeeper -- 管理分布式环境中的数据 -
ghpaas:
orbeon作为xforms标准的实现,不论其设计器还是运行时 ...
XForms 1.1 中文翻译—第1章 关于XForms标准
选自dW 正如在本系列文章 第 1 部分 中描述的那样,终端用户响应时间就是指从这个用户触发一个页面请求到这个页面被完全展示的时间,有时也被称为浏览器响应时间。终端用户响应时间是终端用户对一个应用性能的直观感受。它由三部分组成: 用一个公式来表示,那就是 : 终端用户响应时间= 页面下载时间+ 服务器响应时间+ 浏览器处理及渲染时间 页面请求与下载时间就是被忽略的第二个盲点。即缺少复杂网络条件下,网络传输对响应时间的影响。真实用户很可能会从各种各样不同网络环境(比如网吧)访问一个互联网应用,而基于现实的原因,性能测量软件往往是在实验室中访问实验室中的互联网应用。 在现实的生产环境中,有各种各样的网络环境。性能工程需要尽可能的模拟现实的生产环境,但也要在可接受的成本下进行,覆盖所有网络环境的测量方法不是现实可行的。然而如果能够对页面下载的时间、Web 2.0 应用的网络传输行为、以及网络参数的关系建模,那么就有可能通过实验室的性能数据来预测在真实网路环境的响应时间。 页面下载时间的模型涉及三方面: 在这些关系中页面大小和带宽的关系是最简单明了的,网络带宽决定了网路内每秒钟能传输的数据量的大小。同样大小的文件,在低带宽网络环境下的传输时间将大于高带宽的网络环境。所以: 例如:在 512Kbps 的 ADSL 线路上下载 1Mbyte 的页面, 消耗在带宽上的时间 = 1Mbyte / 512Kbps = 1024 * 1024 * 8 bit / 512 * 1024 bps = 16 秒。 注:这里的页面尺寸比页面文件的总和要略大,这是因为整个 HTTP 协议栈(HTTP、TCP、IP)有报头数据。 HTTP 请求数和网路延迟的关系就不是这么明了的了。我们先举个例子:有一家在上海的公司要从北京运 100 个标准集装箱货柜,那需要多少时间把所有的货柜运会到上海呢? HTTP 请求数和网路延迟的关系和上述例子是一样的: 互联网应用和上述例子的不同之处在于, 在例子中,是确定知道有 100 个货柜要运。所以两部车可以充分并发使用。而在互联网应用中,在一开始是不知道到底有几个货柜要运,这个信息是在运输过程中逐步清楚的。一个更准确的例子是: 互联网应用的并发度和 HTTP 连接数的关系是和这个例子是类似的: 从以上分析可知, 网络延迟、HTTP 请求数、并发度和消耗的总延迟时间的关系是: 而页面下载时间的简化模型就是 : 在这个简化模型中,有些因子没有被考虑 : 基于这个模型,我们只要测量出页面的尺寸、HTTP 请求数和并发度就可以推测在不同网络条件下的页面下载时间。 如前所述: 互联网应用网络传输行为主要包含一下几方面: 可以想象,如果我们能够监听网络传输就可以得知页面尺寸和 HTTP 请求数,而并发度则要通过一些分析也可以得到。而且事实上我们也可以通过互联网应用网络传输行为,分析出服务器响应时间和浏览器渲染时间。而 : 所以如果我们可以通过监听互联网应用的网络传输行为得到页面尺寸、HTTP 请求数、并发度、服务器响应时间和浏览器处理及渲染时间,那么我们就可以推测这个应用在任意网络环境下的终端用户响应时间。 网络监听工具有很多,比如 WireShark 。但 WireShark 比较底层,它可以捕捉整个协议栈的信息。但它的用户界面不是很友好,不利于本文的解释与描述。所以本文以 IBM PageDetailer Pro 为工具,以 Lotus Mashups 的首页为例来说明如何测量互联网应用网络传输行为以及如何理解。 Page Detailer Pro 是 IBM alphaworks 提供的一个工具。它是一款用来记录浏览器 HTTP 请求的软件,它通过在客户端的 Windows 端口堆栈中插入探针(Probe)来获取记录浏览器发起的 HTTP 请求的各种类型的数据。 对于 Page Detailer 的具体使用,可以查看参考资源。 下面是我们的测量步骤 : 将得到的记录保存作为下一步分析使用。 图 1 是一个 Page Detailer 记录的截图。浅蓝色标注部分是后加的,由上图示可知: 那么并发度怎么计算?一个简化的方法就是: 简化的前提是: 当然,在这里只是介绍了一下计算并发度的原理。基于这个原理,可以编写相应的程序读取 PageDetailer 或其他网络监听程序 (比如 WireShark) 的数据来自动计算并发度。在 Lotus Mashups 的性能工程中,我们应用了一个小工具来自动化地计算并发度、浏览器渲染时间和服务器响应时间。具体的开发细节以及在这个例子中的数值就不再一一赘述了。 接下来,我们可以通过简单的数学计算来推测在不同网络条件下的终端用户响应时间。如图 2: 由前面分析可知,可以通过以下几个方面来降低页面下载时间: 本文中,我们介绍了影响终端用户响应时间的其中一个主要因素是”页面请求与下载时间“,并且阐述了页面下载时间的构成,以及页面下载时间的在不同网络环境下的响应时间计算模型。通过对 IBM Mashups Center 首页的页面下载分析与模型计算,我们得到了其在不同网络环境下的计算值。最后我们讨论了如何能降低页面下载时间。通过对页面下载时间的分析与模型解析,从而提早发现应用在不同网络环境下可能存在的性能问题。
消耗在带宽上的时间 = 页面大小 / 网络带宽
总延迟时间 = 网络延迟 × HTTP 请求数 / 并发度
页面下载时间 = 在带宽上消耗的时间 + 在网络延迟上消耗的时间 = 页面尺寸 / 网络带宽 + (网络延迟 × HTTP 请求数)/ 并发度
终端用户响应时间= 页面下载时间+ 服务器响应时间+ 浏览器处理及渲染时间
终端用户响应时间 = 页面下载时间 + 服务器响应时间 + 浏览器处理及渲染时间 = 页面尺寸 / 网络带宽 + (网络延迟 × HTTP 请求数)/ 并发度 + 服务器响应时间 + 浏览器处理及渲染时间
图 1. 示例:Page Detailer Pro 的记录
并发度 = 单个资源下载时间之和 / (页面下载时间 – 浏览器渲染时间)
图 2. 不同网络条件下的 Mashups 初始页面的终端用户响应时间
发表评论
-
高性能、高流量Java Web站点打造的最佳实践
2013-12-24 11:23 2813从2005年-2013年,Ashwanth Fernando ... -
高性能、高流量Java Web站点打造的最佳实践
2013-12-24 11:01 4从2005年-2013年,Ashwanth ... -
20行实现javascript模板引擎
2013-12-23 10:35 151020行实现javascript模板引擎 我仍然在用Abs ... -
标题怎么办
2012-03-25 23:50 21.首先在这里 下载Selenium RC,解压到C盘。 ... -
Google Page Speed应用上线,移动设备也在支持之列
2011-04-05 21:23 855Google已经将Page Speed应用到线上,并且加强 ... -
浏览器的加载与页面性能优化
2011-02-16 11:23 1317本文将探讨浏览器渲染的loading过程,主要有2 ... -
门户网站负载均衡技术的六大新挑战
2010-12-23 11:25 999文 / 李晓栋 记得上 ... -
使用 JAWS 测试 Web 应用的技巧
2010-10-31 23:34 1634屏幕阅读器简介 屏幕阅读器(S ... -
How We Evaluate the Experiences We Engineer
2010-10-26 14:38 7169 and how we measured (and co ... -
研究显示:众多网上零售商未遵循Web优化基本准则
2010-10-26 10:25 697Web优化专家Joshua Bixby最近在博客中披露,在 ... -
Testing sites with Browser Mode vs. Doc Mode
2010-10-22 10:07 1067With site developers verifying ... -
Common Security Mistakes in Web Applications
2010-10-22 10:02 1695Web application developers toda ... -
A (somewhat) brief history of the performance landscape
2010-10-21 10:44 1715I’d like to enlist your help. ... -
Best Practices for Speeding Up Your Web Site
2010-10-20 10:40 1206Minimize HTTP Requests tag: ... -
Web Performance Optimization Use Cases – Part 1 Benchmarking
2010-10-19 14:40 941Web Performance Optimizatio ... -
Google WebP——让图片更小,让页面访问速度更快
2010-10-12 13:14 1588Google日前对外宣布了一种新的图片压缩格式WebP,可 ... -
剖析IE浏览器子系统的性能权重
2010-09-02 13:23 874最近,InfoQ中文站报道了Web 2.0应用客户端性能问 ... -
Performance: Profiling how different web sites use browser subsystems
2010-09-02 00:41 1206When we first showed IE9 at t ... -
Measuring Browser Performance: Understanding issues in benchmarking and performa
2010-09-02 00:40 946Measuring Browse ... -
Ajax应用开发:实践者指南
2010-08-10 21:13 979目前的Web应用开发基本上都是围绕富互联网应用(Rich ...
相关推荐
基于Php语言设计并实现了微信小程序的社区门诊管理系统。该小程序基于B/S即所谓浏览器/服务器模式,选择MySQL作为后台数据库去开发并实现一个以微信小程序的社区门诊为核心的系统以及对系统的简易介绍。 用户注册,在用户注册页面通过填写账号、密码、确认密码、姓名、性别、手机、等信息进行注册操作; 用户登录,用户通过登录页面输入账号和密码,并点击登录进行小程序登录操作。 用户登陆微信端后,可以对首页、门诊信息、我的等功能进行详细操作 门诊信息,在门诊信息页面可以查看科室名称、科室类型、医生编号、医生姓名、 职称、坐诊时间、科室图片、点击次数、科室介绍等信息进行预约挂号操作 检查信息,在检查信息页面可以查看检查项目、检查地点、检查时间、检查费用、账号、姓名、医生编号、医生姓名、是否支付、审核回复、审核状态等信息进行支付操作
白色大气风格的设计师作品模板下载.zip
工程经济学自考必备软件下载
UML课程设计报告.doc
白色大气风格响应式彩绘精品水果网站模板.zip
白色简洁风格的别墅整站网站模板.zip
白色简洁风格的APP展示动态源码下载.zip
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于计算机科学与技术等相关专业,更为适合;
白色大气风格的雪山旅游景区CSS3网站模板.zip
介绍 基于python开发的大模型调用基础框架(源码) 使用说明 修改配置文件 cd config vim __init__.py # 在配置文件中添加大模型调用地址,模型名称,API_KEY等配置 启动应用 应用启动分为两种模式,命令行模式和web模式 命令行模式 python main.py cli web模式 python main.py api
基于JavaWeb的小区物业管理系统源代码+数据库 负责数据库的设计和界面的设计和实现; 界面使用 BootStrap 框架,页面自适应效果,修改页面后实现各个功能模块的布局; 负责实现用户登录注册,查看小区活动公告、水电费查询、车费查询信息; 采用的技术:采用 MVC 架构,数据库用 MySql;
白色简单风格的商务企业网站模板下载.zip
1. 平台在家电和电子产品方面的营运情况如何? 2. 哪些品牌和类别销量最高? 3. 用户消费规律 4. 哪些是我们的重点用户? 5. 平台有哪些优势和不足,需要如何改进?
全平台数据库管理工具, 支持 ClickHouse, Presto, Trino, MySQL, PostgreSQL, Apache Druid, ElasticSearch...
白色大气风格的旅游整站网站模板.zip
1、嵌入式物联网单片机项目开发例程,简单、方便、好用,节省开发时间。 2、代码使用KEIL 标准库开发,当前在STM32F030C8T6运行,如果是STM32F030其他型号芯片,依然适用,请自行更改KEIL芯片型号以及FLASH容量即可。 3、软件下载时,请注意keil选择项是jlink还是stlink。 4、有偿指导v:wulianjishu666; 5、如果接入其他传感器,请查看账号发布的其他资料。 6、单片机与模块的接线,在代码当中均有定义,请自行对照。 7、若硬件有差异,请根据自身情况调整代码,程序仅供参考学习。 8、代码有注释说明,请耐心阅读。 9、编译时请注意提示,请选择合适的编译器版本。
Matlab领域上传的视频均有对应的完整代码,皆可运行,亲测可用,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作
白色大气风格的红唇少女女性类网站模板.zip
白色简洁风格的UIDesign设计公司企业网站模板.rar
Linux期末考试试题.doc