- 浏览: 479428 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
alvin198761:
renzhengzhi 写道我参与过12306余票查询系统的开 ...
别给12306 辩解了 -
renzhengzhi:
我参与过12306余票查询系统的开发,用户请求被前面3层缓存拦 ...
别给12306 辩解了 -
renzhengzhi:
写的很好。
JAVA线程dump的分析 -
liyonghui160com:
说好的附件呢
分布式服务框架 Zookeeper -- 管理分布式环境中的数据 -
ghpaas:
orbeon作为xforms标准的实现,不论其设计器还是运行时 ...
XForms 1.1 中文翻译—第1章 关于XForms标准
衡量一个 Web 2.0 应用是否成功的一条关键准则是客户对于应用页面装载时间的感受和满意度。用户对于一个应用的第一感受来自于他访问您的第一个页面,通常是应用的主页。从技术上讲,我们认为“浏览器响应时间”是指用户感受到的,在浏览器上做出动作(通常是鼠标点击或者键盘敲击)开始到新页面(或者部分页面)显示完整的这段时间。 “浏览器响应时间” 包含三个主要的部分: 对于“页面装载时间”的性能分析与优化,我们在 前面的文章中 已经进行了讨论。在这篇文章中,我们着重讨论页面渲染时间,以及如何剖析和分析浏览器页面渲染时间,并通过找到其存在的性能问题与瓶颈来提高应用的性能。 页面渲染时间主要包含两个部分: 其中: Web 2.0 应用中,越来越多的逻辑层和表现层的实现被转移到浏览器端。对应用本身,这样不仅可以减轻服务器的负担,并且能提供非常丰富的用户体验,使应用有非常好的可用性。浏览器端的页面聚合特性,也使得服务器的架构设计更加灵活,使应用有更大的可扩展性。而从应用的性能角度来看,这势必加重了页面的渲染时间,过于差的页面显示延时,会严重影响用户的体验。所以我们应该认识到应用里面的脚本已经变的很重要,而且可能成为应用的性能瓶颈。为了提升脚本的执行性能,首先需要开发者在设计和实现的时候把性能考虑进去,同时也有一些成熟的 JavaScript 脚本编程的性能建议可供开发者作为参考(参见 参考资源),这可以帮助开发者在程序实现或者从服务器端迁移代码的时候避免调用一些在脚本执行中性能比较差的方法或算法。有些时候,开发者并不能预测到代码中可能存在的性能问题,这时候性能分析技术能提供一些性能剖析的方法和工具,帮助我们对一些方法或者代码片段做性能剖析,从而分析内部潜在的性能问题。 在脚本语言中,主要的性能剖析方法有时间片剖析和调用流程剖析: 这两个性能剖析方法包含两个相同的步骤:数据搜集与数据后处理与分析,通过合适的工具,我们可以同时得到这两个剖析结果。 这个结果能帮我们回答我们最想知道的问题:”谁在调用运行时间最长的方法?“,这将毫无疑问的帮我们定位到应用中存在的性能问题。 目前许多浏览器都提供了适用于自身的性能剖析工具或者插件,不同的工具提供了不同的功能,能帮助我们在不同浏览器上进行脚本执行性能的分析。这里我们以 Mozilla Firefox FireBug 插件、MicroSoft Internet Exporlor 8 与 Webkit(Safari)Web Inspector 三个工具为例子比较他们在功能上的区别,见 表 1。 功能描述 : 相对于基于 Java 语言上的各类性能剖析工具,基于 JavaScript 的性能剖析工具目前还不是很丰富,而且不同浏览器提供的功能也各不相同。从上面的功能对比表中,我们可以看到目前的 JavaScript 性能工具对于后期的离线分析、无关过滤以及快速检索的支持还不完善。但这已经可以帮助我们查找与解决 JavaScript 执行上的性能问题。对于特定的浏览器上的 JavaScript 性能问题,我们可以选择其中最合适的工具进行性能剖析。 剖析 IBM Mashups Center 的 JavaScript 执行性能 接下来,我们将逐步展示一个典型的脚本剖析过程。示例将使用 Developer Tools for Internet Explorer 8(IE8)来对 IBM Mashups Center 的应用做一个 JavaScript 执行的剖析。对于其它浏览器上的性能剖析工具,其基本步骤基本类似,就不再重复叙述。这里,我们准备剖析 IBM Mashups Center 在用户登录的动作,在用户输入用户名和密码做登录后,IBM Mashups Center 会显示该用户的默认主页。下面是主要的步骤: 当剖析动作结束以后,“开发者工具”界面会显示此次剖析的结果。它可以有两种显示方式剖析结果:调用流程树视图 或者 函数列表视图。 前面我们通过 Developer Tools for Internet Explorer 8(IE8)对 IBM Mashups Center 的登录动作进行了 JavaScript 性能剖析,下面我们来分析一下这个结果。通过“函数列表视图”,我们很容易找到那个方法调用占用了最多的时间,或者被调用的次数最多。通过“调用流程树视图”,我们可以查找是哪些方法调用了那些最重的函数。 在我们对 IBM Mashups Center 的登录动作的性能剖析结果中,我们可以发现: 通过以上的性能剖析,已经能够帮助我们找到页面 JavaScript 脚本执行在各个函数中的分布以及它们的上下文关系。对于比较复杂的 JavaScript 脚本性能问题,通常需要结合源码源码阅读,添加日志输出等方法来定位问题,所有这些可以帮助我们快速定位、分析、验证脚本中的性能问题。 本文我们主要讨论了如何对于页面渲染时间的性能分析,首先介绍了几个主要浏览器的性能剖析工具,然后结合对 IBM Mashups Center 的性能剖析示例,介绍了如何利用工具来进行性能剖析与问题定位。 学习浏览器响应时间 = 服务器响应时间 + 页面装载时间 + 页面渲染时间
页面渲染时间 = 脚本执行时间 + 浏览器引擎渲染时间
表 1. JavaScript 性能分析工具功能对比
功能
Mozilla Firefox Firebug
Internet Explorer Developer Tools
Webkit (Safari) Web Inspector
时间片剖析
支持
支持
支持
调用流程剖析
不支持
支持
支持
无关过滤
不支持
不支持
不支持
父子节点统计分析
不支持
不支持
不支持
离线分析
不支持
不支持
不支持
快速检索
不支持
不支持
不支持
匹配匿名函数名
部分支持
支持
不支持
包含程序源代码
支持
不支持
不支持
图 1. 调用流程树视图
图 2. 函数列表视图
图 3. 示例:changePageContent 函数在调用流程树视图中的位置
发表评论
-
高性能、高流量Java Web站点打造的最佳实践
2013-12-24 11:23 2808从2005年-2013年,Ashwanth Fernando ... -
高性能、高流量Java Web站点打造的最佳实践
2013-12-24 11:01 4从2005年-2013年,Ashwanth ... -
20行实现javascript模板引擎
2013-12-23 10:35 150520行实现javascript模板引擎 我仍然在用Abs ... -
标题怎么办
2012-03-25 23:50 21.首先在这里 下载Selenium RC,解压到C盘。 ... -
Google Page Speed应用上线,移动设备也在支持之列
2011-04-05 21:23 851Google已经将Page Speed应用到线上,并且加强 ... -
浏览器的加载与页面性能优化
2011-02-16 11:23 1306本文将探讨浏览器渲染的loading过程,主要有2 ... -
门户网站负载均衡技术的六大新挑战
2010-12-23 11:25 974文 / 李晓栋 记得上 ... -
使用 JAWS 测试 Web 应用的技巧
2010-10-31 23:34 1630屏幕阅读器简介 屏幕阅读器(S ... -
How We Evaluate the Experiences We Engineer
2010-10-26 14:38 7119 and how we measured (and co ... -
研究显示:众多网上零售商未遵循Web优化基本准则
2010-10-26 10:25 690Web优化专家Joshua Bixby最近在博客中披露,在 ... -
Testing sites with Browser Mode vs. Doc Mode
2010-10-22 10:07 1063With site developers verifying ... -
Common Security Mistakes in Web Applications
2010-10-22 10:02 1687Web application developers toda ... -
A (somewhat) brief history of the performance landscape
2010-10-21 10:44 1706I’d like to enlist your help. ... -
Best Practices for Speeding Up Your Web Site
2010-10-20 10:40 1198Minimize HTTP Requests tag: ... -
Web Performance Optimization Use Cases – Part 1 Benchmarking
2010-10-19 14:40 933Web Performance Optimizatio ... -
Google WebP——让图片更小,让页面访问速度更快
2010-10-12 13:14 1582Google日前对外宣布了一种新的图片压缩格式WebP,可 ... -
剖析IE浏览器子系统的性能权重
2010-09-02 13:23 868最近,InfoQ中文站报道了Web 2.0应用客户端性能问 ... -
Performance: Profiling how different web sites use browser subsystems
2010-09-02 00:41 1204When we first showed IE9 at t ... -
Measuring Browser Performance: Understanding issues in benchmarking and performa
2010-09-02 00:40 942Measuring Browse ... -
Ajax应用开发:实践者指南
2010-08-10 21:13 954目前的Web应用开发基本上都是围绕富互联网应用(Rich ...
相关推荐
【全面分析Web 2.0应用性能:关注页面渲染时间】 在Web 2.0应用程序中,用户体验至关重要,而页面加载速度是决定用户体验好坏的关键因素之一。本文关注的是页面渲染性能,尤其是JavaScript脚本的执行时间和浏览器...
Web2.0是一个广泛的术语,它代表了互联网的第二个重要阶段,强调用户参与、互动和内容共享。在这个时代,网站不再仅仅是信息的展示平台,而是变成了用户生成内容、社区建设和协作的平台。Web2.0的游戏通常利用这些...
在本文中,我们将深入探讨“Windows移动开发系列课程——使用ASP.NET 2.0中的移动Web控件创建跨浏览器Web应用”这一主题。这是一门针对ASP.NET开发者,特别是对移动设备开发感兴趣的开发者的重要课程。ASP.NET 2.0是...
### Web2.0网站性能调优实践:关键知识点解析 #### 一、Web2.0网站性能优化的重要性 Web2.0网站强调交互性和实时性,其核心在于提供快速、稳定的服务体验。对于用户而言,服务速度和稳定性是首要考虑的因素,这...
在探讨“Web 2.0网站性能调优实践”这一主题时,我们首先需要理解Web 2.0的概念以及它对网站性能优化带来的新挑战与机遇。Web 2.0通常指的是互联网的第二代,强调用户参与、互动、数据驱动和个性化服务。这不仅仅是...
由于大部分用户等待时间主要消耗在前端加载,因此前端优化成为了性能提升的关键。以下是一些针对Web2.0前端性能优化的具体策略: 1. **减少HTTP请求次数**:页面加载时间很大程度上取决于网络请求的数量。每增加一...
遵循Web2.0标准,不仅有助于提升网站的设计质量和用户体验,还能促进网站的可访问性、可维护性和搜索引擎优化(SEO)。在本文中,我们将深入探讨Web2.0标准的核心概念、重要性和实施方法。 1. **核心概念** Web2.0...
标题中的“搜狗浏览器2.0,据说速度最快的浏览器”提到了搜狗浏览器的一个关键特性,即速度。这款浏览器在发布时可能主打的是其快速的浏览体验,这通常与浏览器的渲染引擎、优化技术和资源管理有关。搜狗浏览器2.0...
这份iPanel_2.0应用开发指南为WEB设计人员和开发人员提供了全面的指导,从基础的浏览器特性到高级功能模块,再到问题的诊断和解决,都提供了详细的描述和建议,确保开发者能够高效地为iPanel浏览器开发出高质量的...
Web2.0标准教案旨在提供一套全面的指南,帮助开发者理解并应用Web2.0时代的最新标准来构建高质量的网站。这不仅仅涉及技术层面的更新,更强调了标准化在提升用户体验、增强网站兼容性和优化维护效率方面的核心作用。...
它使得Web应用更为动态和交互性更强,是Web2.0时代的核心技术之一。Ajax通过在后台与服务器进行少量数据交换,实现了页面的异步更新,提升了用户体验,减少了网络流量。 **1. 基本原理** Ajax的基本工作流程包括...
中山大学《Web2.0程序设计》期末考试试卷试题分析 本试卷涵盖了Web2.0程序设计的多个方面,包括HTML/CSS、PHP、JavaScript/DOM、Ajax/XML和Web Fundamentals等知识点。下面将对这些知识点进行详细的分析和解释: 1...
3. **Web2.0特性** - **富互联网应用(RIA)**:Ajax允许创建更接近桌面应用的Web应用,提供更丰富的交互体验。 - **用户参与**:用户可以直接在页面上编辑和提交内容,如评论、评分等。 - **实时性**:通过Ajax...
Flex在Web 2.0中的应用 Web 2.0是一个涵盖了互联网发展的新阶段,它强调用户参与、信息共享和互动性。在这个时代,互联网不再仅仅是单向的信息传递,而是成为一个用户可以创建、编辑和分享内容的平台。常见的Web ...
【标题】:“浅蓝色WEB2.0风格全站模板帝国模板” 这个标题提及的是一个网站设计模板,采用了“浅蓝色”作为主色调,融入了WEB2.0的设计风格。WEB2.0是一种互联网设计理念,强调用户参与、互动、分享以及个性化体验...
总结,AJAX作为Web 2.0的标志性技术,极大地提升了Web应用的交互性和性能。理解其工作原理并掌握在实际项目中的应用,对于提升Web开发水平至关重要。同时,也要关注其带来的挑战,并学会通过现代化的框架和库来优化...
GPU渲染架构进一步优化了渲染性能,使用了OpenGLES2.0等图形API,让浏览器能够利用GPU进行图形渲染。GPU进程由服务端(GPUProcess Sever)和客户端(GPUProcess Client)组成,通过IPC通信。此外,Webkit使用...
ASP.NET 2.0是微软发布的一个用于构建动态Web应用程序的框架,它提供了丰富的功能和工具,使得开发者能够更加高效地创建复杂的Web应用。在移动互联网兴起的背景下,ASP.NET 2.0不仅支持传统的桌面浏览器,还特别优化...
在构建和优化高流量Web2.0网站时,性能调优是至关重要的。Yahoo作为互联网巨头,积累了大量的经验和知识,提出了14条准则来提升网站性能。以下是对这些准则的详细解析: 1. 减少HTTP请求:每个HTTP请求都会增加页面...
在本文中,我们将深入探讨如何使用Microsoft Visual C++(简称VC)进行WEB浏览器的开发,以MYIE2.0为例。MYIE2.0是一款基于VC编写的网页浏览器,其源代码提供了宝贵的参考资料,让我们得以了解浏览器开发的核心技术...