`
elstage
  • 浏览: 79868 次
  • 性别: Icon_minigender_1
  • 来自: 地球
社区版块
存档分类
最新评论

讨论Ext项目的性能优化

    博客分类:
  • Ext
阅读更多

现在开发的项目用了Ext+Dwr,页面初始化的时间比较长(我的项目左边是树,右边使用tabPanel引入iframe),有什么优化方法呢?

 

整理各位大侠的意见如下:

方法一:

压缩传输,比如tomcat6下面启用gzip,修改server.xml的配置:
<Connector port="8081" protocol="HTTP/1.1" maxThreads="150" 
  compression="on"
  noCompressionUserAgents="gozilla, traviata" 
  compressableMimeType="text/html,text/xml,text/javascript,text/css"
  connectionTimeout="20000" redirectPort="8443" URIEncoding="GBK"/>

 

一篇介绍Gzip的文章:http://betterexplained.com/articles/how-to-optimize-your-site-with-gzip-compression/  不错!

  

一篇介绍iframe直接使用父页面的js和css技术的文章:http://matthew.delmarters.com/weblog/injecting-javascript-and-css-into-iframes/#comment-64462 不是很明白!

 

当然还有其他的一些压缩工具:比如E3压缩。

 

方法二:

项目中Ext代码优化。

1. 不推荐使用iframe加载的方式,使用autoload。

2. 在完成了组件对象的使用以后必须回收,可以使用对应对象的destroy,beforeDestroy,removeAll等方法销毁对象以及一些孤立节点。

3. 不要把继承层次弄的太深。

。。。

分享到:
评论
29 楼 kebo 2008-11-20  
压缩,考虑到的是网络速度的问题。如果网络不是问题,这块儿没什么用。
extjs使用的时候,就我们项目的经验。不要把继承层次弄的太深。我们项目是
坚决不用什么iframe的东西。jsvm2可以很好的做js的分割加载
28 楼 jayxu 2008-11-20  
elstage 写道
我配置了tomcat6的gzip,但是效果不明显啊


你用了压缩 在本地或局域网内是没什么效果变化的




27 楼 icewubin 2008-11-19  
elstage 写道
能不能有朋友把不是iframe加载的方式贴段代码出来看看呢?

你可以参考一下EXT目录下doc/resource/doc.js中搜索autoLoad。

如果你要加载的页面还是完全EXT布局的话,就可以直接渲染,不需要考虑什么页面。

例如,如果你是用类似于IE7的多tab的方式打开多个功能页面,比如某一个页面中是一个GridPanel的话,完全可以把构造这个GridPanel的代码放在一个temp01.js中,在index.html中直接引入这个JS。这种方式起个名字叫“直接渲染”吧(估计会有人说首页的代码会膨胀,有人质疑了我再回答吧)。
26 楼 icewubin 2008-11-19  
zhongli 写道
生产采用的是apache的gzip压缩,好像可以达到80%,体积的问题应该很容易解决。
顺便问一下,如果不使用iframe,那是不是变成了one page application模式?这样好像不是很爽,多模块不一定都是用ext开发的

体积问题你说对了,也就是第一次访问需要下载112KB的ext-all.js的问题,大概相当于2-3幅大图片的大小。


一个application不等于一个网站,application的粒度需要自己把握。

多模块完全可以多page。

如果一定要多模块放在一个页面中,即使用iframe,多模块之间在客户端的通讯也是很麻烦的,建议大模块设计的时候就按照传统门户网站的策略,各自分开。比如门户的新闻页面往往基于各自的CMS系统,论坛有可能是PHP系统等等。
25 楼 icewubin 2008-11-19  
maoweiwer 写道
建议使用老黄写的E3压缩....真的很棒....

呵呵..免费为老黄的东西做宣传


貌似E3的缓存策略不如apache,缓存功能有没有都是问题,而且缓存的对象都在JVM中。

这个功能不如分摊给专门的HTTP Server(也有可能是各种前端缓存)做,不要浪费应用服务器的CPU的资源。
24 楼 icewubin 2008-11-19  
andrew.yulong 写道
搞不懂,为什么这多人用iframe加载?ext的官方论坛都不推荐iframe加载.本人觉得用ext根本就没有必要用iframe啊!


因为入门的人要实现直接渲染或者autoload,在调试过程中会碰到很多意想不到的困难,一旦碰到搜索不到的问题,又找不到人问,自然就会尝试其他方案,相对的iframe的方式相对简单,网上资料也比较容易找。。。

你不能要求一个刚刚熟悉不久的人,能够深刻理解ext的应用中,用不用iframe的本质区别到底在哪,即使你把原因一字一句的告诉他,如果他对浏览器访问ext访问并执行的过程本身了解不深刻的,依然效果不好。
23 楼 icewubin 2008-11-19  
sky33230 写道
经过gzip压缩js后,页面访问的第一次加载是快了,但是之后的访问速度跟没加载的差不多,优化有什么更好的方法??


不可能,gzip压缩一旦配置好,或者事先压缩好以后,即使浏览器不对ext-all.js做缓存,每一次访问速度也应该是和第一次一样,怎么可能会比第一次慢?不可能的事,你搞错了吧。

一般来说,从第二次开始因为浏览器一般会缓存ext-all.js,一定是比第一次节省下载112KB大小的下载时间的。
22 楼 icewubin 2008-11-19  
andrew.yulong 写道
iframe本来加载就很慢!


话是没错,但是凡是外行人感觉慢的地方100%不是iframe造成的。因为本质上来讲,iframe和打开一个ext页面是一样的速度,仅仅是多访问了一次HTTPserver进行判断(发现ext-all.js本地已经缓存),多了一次浏览器加载解析ext-all.js的过程,其他方面是一模一样的。

好比你每次打开新浪首页的新闻,新弹出一个窗口,你会说新浪慢么?新浪新打开一个窗口的结果和我上述分析是差不多的,除了少部分随机显示的广告以外,大部分的诸如banner图片、公用的css和js文件都不会重新下载、但是会在新的窗口中加载解析一下(这个过程是很快的)。

21 楼 sky33230 2008-11-18  
经过gzip压缩js后,页面访问的第一次加载是快了,但是之后的访问速度跟没加载的差不多,优化有什么更好的方法??
20 楼 elstage 2008-11-18  
能不能有朋友把不是iframe加载的方式贴段代码出来看看呢?
19 楼 zhongli 2008-11-18  
生产采用的是apache的gzip压缩,好像可以达到80%,体积的问题应该很容易解决。
顺便问一下,如果不使用iframe,那是不是变成了one page application模式?这样好像不是很爽,多模块不一定都是用ext开发的
18 楼 tianzhou0374 2008-11-17  
我是ext.com上的Platinum客户,找jack问过,尽量不要用iframe,后期会因为权限问题搞得很麻烦.
17 楼 maoweiwer 2008-11-17  
建议使用老黄写的E3压缩....真的很棒....

呵呵..免费为老黄的东西做宣传
16 楼 andrew.yulong 2008-11-17  
搞不懂,为什么这多人用iframe加载?ext的官方论坛都不推荐iframe加载.本人觉得用ext根本就没有必要用iframe啊!
15 楼 andrew.yulong 2008-11-17  
iframe本来加载就很慢!
14 楼 elstage 2008-11-16  
看了一下不是很明白预配置类的意思,自己定义组件?
13 楼 fangzhouxing 2008-11-15  
尽量采用预配置类,可以提高性能:

http://extjs.com/forum/showthread.php?t=26728

另外,采用gzip和cache-control,用Firebug看到的缓冲效果参见附图。
12 楼 penghao122 2008-11-14  
注得fins的观点.

有时可能是你写的js 影响了页面的性能...

for example .可以不使用ext的组件.采用渲染方式过去.

11 楼 elstage 2008-11-14  
fins 写道

我觉得 不应该从js 体积上着手 那个不是最大的瓶颈 ext源码级别的优化 以及使用方式(你写的ext代码)上的优化 才是关键的 (个人观点 欢迎批驳 但我不做回应 )

你说的不错,页面渲染的时间比传输的时间要长,问题是在写法优化上面有没有什么经验共享?
10 楼 fins 2008-11-14  

我觉得 不应该从js 体积上着手

那个不是最大的瓶颈

ext源码级别的优化 以及使用方式(你写的ext代码)上的优化
才是关键的

(个人观点 欢迎批驳 但我不做回应 )

相关推荐

    ext5第一部分

    【标签】"ext6"表明可能是在讨论EXT5之后的潜在后续版本,尽管EXT5尚未正式发布。未来可能的EXT6将进一步优化上述特性,并可能引入新的特性和技术,如原生加密、更强大的文件系统一致性检查工具以及对新硬件存储技术...

    ext整理 ext整理 ext整理

    下面将详细讨论EXT的相关知识点。 一、EXT JS框架 EXT JS是一个基于JavaScript的开源框架,由Sencha公司开发。它的设计目标是为Web开发者提供一套完整的工具,用于创建功能丰富、用户界面美观的应用程序。EXT JS的...

    DB2 性能优化快速入门

    通过上述讨论可以看出,DB2性能优化涉及到多个层面的技术和策略。初学者可以通过理解和掌握内存、CPU和I/O等方面的基础知识,逐步建立起解决实际问题的能力。此外,利用成熟的DB2调优工具如DB2 Performance Expert也...

    Ext的压缩文件

    下面将详细讨论Ext框架以及3.0版本可能涉及的关键知识点。 1. **Ext JS**:Ext JS是一个开源的JavaScript库,由Sencha公司开发,用于构建桌面级的Web应用。它提供了丰富的用户界面组件和数据管理工具,如表格、面板...

    查看文件 ext资料

    博主可能还讨论了如何分析和优化ext文件系统的性能,例如调整文件系统参数,使用`tune2fs`工具进行调整,或者使用`ionice`来控制I/O调度优先级。 在Linux环境中,理解文件系统对于日常操作至关重要,无论是普通用户...

    Linux性能优化大师(包含azw3,epub,mobi)

    《Linux性能优化大师》是一本深受业界推崇的Linux系统调优专著,涵盖了广泛的Linux性能优化主题。本书针对系统管理员、开发人员以及对Linux性能有深入需求的技术人员,旨在提升他们在面对复杂系统环境时,对Linux...

    Ext JS高级程序设计

    第三章可能侧重于高级主题,如性能优化、扩展和插件开发,以及自定义组件。开发者会学习如何提高应用程序的性能,减少DOM操作和网络请求。此外,理解Ext JS的扩展机制有助于定制和增强现有的组件。这部分可能还涵盖...

    Ext4.1.0 Doc中文版

    - **块大小**:EXT4支持1K、2K和4K的块大小,根据文件大小分布选择合适的块大小可以优化性能。 5. **EXT4与其它文件系统比较** - **EXT3**:EXT4的前身,相比EXT4,EXT3的性能稍弱,但更保守稳定。 - **XFS**:...

    ext TREE

    【标签】"源码"和"工具"这两个标签暗示我们可能要讨论EXT JS Tree组件的实现原理和如何在项目中应用。EXT JS的源码是用JavaScript编写的,它采用了MVC(Model-View-Controller)架构模式,使得代码组织清晰,易于...

    EXT3.0中文文档

    7. **安全性**:讨论EXT3的权限模型、ACLs以及如何保护文件系统不受恶意攻击。 由于EXT3是开源的,文档可能还会包含源代码分析、开发接口(API)的详细说明,供开发者深入了解EXT3的工作原理并进行扩展或定制。通过...

    ext js 打包资源下载

    然而,需要注意的是,Ext JS 1.1.1是一个较旧的版本,相比当前的版本(例如7.x或8.x),可能缺少一些新特性、性能优化以及对现代浏览器的支持。尽管如此,对于那些需要兼容旧系统或者对版权有特定要求的项目,Ext JS...

    Ext2.02的一些总结

    现在,让我们详细讨论Ext JS 2.02的关键知识点: 1. **组件系统**:Ext JS的核心是其强大的组件模型,允许开发者创建可复用、可配置的UI元素。这包括表格、树、面板、窗口、表单等。2.02版本可能包含对这些组件的...

    EXT2.2开发环境

    8. **测试和优化**:不断测试应用的功能和性能,使用EXTJS提供的性能监控工具,如Profiler,来优化代码和组件。 在"学习教程it-teach.cn下面的最近技术-extjs.txt"文件中,可能包含了EXT2.2的详细教程和示例代码,...

    Ext4帮助文档

    9. **性能优化**:讨论如何通过配置文件系统参数(如块大小、Inode比例等)来提升读写性能,以及使用延迟分配(delayed allocation)、 extents等特性的影响。 10. **安全性和权限**:介绍Ext4的访问控制机制,包括...

    EXT_DEMO.rar_DEMO_ext desktop de_ext desktop demo_一起ext

    现在我们来详细讨论EXT桌面系统的一些关键知识点: 1. **组件化设计**:EXT桌面系统基于组件化的理念,这意味着你可以将应用拆分为多个独立的、可重用的部件,如面板、窗口、菜单等。这种设计模式便于维护和扩展...

    ext基础

    EXT文件系统的知识点包括它们的结构、性能特点、挂载选项、日志记录机制以及如何进行文件系统的检查、修复和优化。 EXT2是早期的无日志文件系统,EXT3引入了日志记录功能,增强了数据一致性,而EXT4则在EXT3的基础...

    Ext 3.0 中文文档

    10. **最佳实践和性能优化**:提供关于代码优化、资源管理等方面的指导,帮助开发者构建高效的应用程序。 11. **API参考**:详细列出Ext 3.0的所有类、方法、属性和事件,是开发者日常查阅的重要工具。 通过阅读...

    《Linux 性能优化实战》案例

    《Linux 性能优化实战》案例提供了丰富的经验与技术,帮助读者深入理解如何在Linux环境中提升系统的性能。这本书涵盖了一系列的实例,旨在帮助系统管理员、运维人员和开发人员解决实际工作中遇到的问题。以下是对该...

    EXT3.0 COOKBOOK中文版

    - **EXT3.0**: 更进一步地明确了本书讨论的是Ext JS 3.0版本。 - **javascript**: 表明Ext JS是一种基于JavaScript的前端开发框架。 #### 部分内容概述 - 本书由Jorge Ramon撰写,由Packt Publishing出版,版权信息...

Global site tag (gtag.js) - Google Analytics