`
suqing
  • 浏览: 188791 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

dynaTrace之二 —— JavaScript和AJAX性能最佳实践

阅读更多

 

原文地址:Best Practices on JavaScript and AJAX Performance

同类阅读: dynaTrace之一 —— 网络请求和往返的最佳实践

 

dynaTrace AJAX Edition有独一无二跟踪页面JS执行的能力。它还能跟踪到浏览器的DOM,获取方法的参数和返回值。下图就是一个脚本异常的JS跟踪图,在PurePath视图中:

 

通过JS这个级别的执行细节,很容易识别运行缓慢的js处理程序、自定义js代码、低效的访问DOM,代价昂贵又低效的第三方框架比如jQuery==。

 

标记阻塞的脚本和长时间运行的脚本

 

当脚本开始下载,然后浏览器执行,浏览器通常会停止所有其他下载。这个行为很容易从newwork视图看出来:

 

 

The dynaTrace AJAX Edition 时间轴视图显示了这个期间发生的详情:

 

 

延迟加载JS文件

页面应该尽量快地下载所有的资源以提高第一印象时间加载时间。谷歌和雅虎建议JS置底。Google’s Best Practices谷歌的最佳实践描述了在onLoad事件处理程序动态添加脚本标签的JavaScript的DOM延迟加载。

优化JavaScript执行

除了又换js的加载顺序,js代码本身的效率就可以提高。dynaTrace AJAX Edition 提供了两种视图来分析js执行:

JavaScript/AJAX面板有点类似于Hotspot面板,分析页面内所有的js执行,并提供汇总清单,显示所有方法的性能。列表以脚本块分行和外部如jQuery库的调用。这个列表给出了改进性能的良好出发点。其中Back Trace显示了谁引发了所选的活动,而Forward Trace显示了这个活动出发了哪些其他的活动。点击Back Trace或 Forward Trace中树的节点,会在最下面显示相关的js源代码:

 

 

另一个有趣的视图是PurePath视图。它显示了所有浏览器的活动,包括Script标签或时间句柄出发了哪些js的执行,还有网络请求和呈现的时间。TimeLine视图下双击脚本执行块或者从HotSpot视图的方法进入PurePath视图,显示了具体路径:

 

 

有这些深入的执行跟踪,很容易识别时间花在哪儿了。PurePath视图还显示了实际的js代码。糟糕的性能往往是因为过多使用字符操作,DOM操作,用CSS选择器查找DOM对象,本身就存在问题的第三方js库和过多或长期运行的XHR调用。具体有以下几点:

 

低效的css选择器:具体细节参考《jQuery提升性能的代码规范

太多的XHR请求:使用jQuery的很容易依赖AJAX从服务器获取额外的内容

一个典型的例子是

 

 

 

同类阅读: dynaTrace之一 —— 网络请求和往返的最佳实践


 

 

分享到:
评论

相关推荐

    dynatrace-AJAX-edition软件

    这里我们要介绍的是“dynatrace-AJAX-edition”——一款专注于前端性能测试的利器。 “dynatrace-AJAX-edition”是Dynatrace公司推出的一款强大工具,其主要功能在于帮助开发者检测和分析AJAX应用的性能。AJAX...

    dynatrace3.1.0.763

    《深入理解Dynatrace 3.1.0.763——AJAX Edition》 Dynatrace是一款全球领先的性能管理工具,尤其在应用程序性能监控(APM)领域有着卓越的表现。这里的"3.1.0.763"是其版本号,代表着该软件在不断迭代优化后的一...

    IE浏览器性能分析工具.docx

    本文将详细介绍一款专用于IE浏览器的性能分析工具——DynaTrace AJAX,它以其独特的功能和深度分析能力,赢得了业界的广泛赞誉,甚至连JQuery的创始人John Resig也给予了高度评价。 DynaTrace AJAX是一款免费的页面...

    Ajax--新手快车道.rar

    **Ajax——新手快车道** Ajax(Asynchronous JavaScript and ...总之,Ajax是现代Web开发中的重要技术,掌握它将有助于提升Web应用的性能和用户体验。通过实践和学习,新手可以快速上手,并逐步深入理解Ajax的精髓。

    前端测试工具调研报告

    - **dynaTrace Ajax Edition**虽然缺乏首屏时间这一指标,但在JavaScript函数级别的性能分析方面具有独特优势。 - **WebPageTest**因其提供的多维度性能指标,在综合评估网站性能方面表现出色。 综合考虑,如果侧重...

    IE 性能分析工具(asp.net环境)

    本文将详细介绍IE性能分析工具——dynaTrace AJAX,以及如何在ASP.NET环境下利用它来提升网页性能。 首先,IE性能分析工具在asp.net环境下显得尤为重要,因为ASP.NET是一种广泛使用的微软开发的服务器端Web应用程序...

    前端工程师-高级WEB网站前端开发测试指南.docx

    - **DynaTrace's Ajax Edition**:一款免费工具,不仅可以检测资源加载瀑布图,还能监测页面呈现时间、CPU消耗、JavaScript执行时间及CSS解析时间等。 - **SpeedTracer**:谷歌Chrome的一个插件,主要用于监控...

Global site tag (gtag.js) - Google Analytics