论坛首页 Web前端技术论坛

讨论Ext项目的性能优化

浏览 30138 次
精华帖 (0) :: 良好帖 (2) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-12-15  
icewubin 写道
shevliu 写道
icewubin 写道
shevliu 写道
EXT在企业应用中,体积应该不成问题。
局域网传输很快,况且有缓存。

令人头疼就是加载速度
就一个普通页面:一棵树,一个20条数据的grid,再加几个form。在奔四,512内存的机器上居然需要3-5秒的加载时间,CPU占用率100%。很是郁闷

P4 频率多少?


大概2.4G

那基本可以确定是代码设计不合理或者其他外在因素造成的,就这点EXT元素P4 2.4G不可能连续消耗3-5秒的100%的CPU。


发现这么个情况:
两台几乎一样配置的客户机,操作系统也一样,网络环境也一样,但表现差异很大。
机器A打开一个页面花费时间很长,至少好几秒
机器B快很多
初步看了一下浏览器版本,机器A是IE6 sp1,机器B是IE6 sp2
不知为何差别如此大
0 请登录后投票
   发表时间:2008-12-15   最后修改:2008-12-15
shevliu 写道

发现这么个情况:
两台几乎一样配置的客户机,操作系统也一样,网络环境也一样,但表现差异很大。
机器A打开一个页面花费时间很长,至少好几秒
机器B快很多
初步看了一下浏览器版本,机器A是IE6 sp1,机器B是IE6 sp2
不知为何差别如此大

建议再找一台,或者虚拟机上装一个干净的IE6 sp1做测试,机器A中流氓软件或浏览器不正常的可能性很高。
0 请登录后投票
   发表时间:2008-12-16  
elstage 写道

现在开发的项目用了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. 不要把继承层次弄的太深。

。。。

 

0 请登录后投票
   发表时间:2008-12-18  

我用的gzip压缩。是费iframe的。第一次加载如下:

 

  • 大小: 47 KB
0 请登录后投票
   发表时间:2008-12-18  
这个是我所有模块点开后达到的最大值


这样好像是最大啊。不会在增加啦。
  • 大小: 47 KB
0 请登录后投票
   发表时间:2008-12-30  
哈哈,一个月前很热衷ext,也突破了它的性能瓶颈,也已经摸索出了它的最佳开发方式,但是也现在不喜欢了,因为审美疲劳,现在看ext的界面感觉很丑的,象个浓妆艳抹的姑娘啊
我认为ext的最佳开发方式不是autoload,而是嵌入iframe,当你开发稍大的系统,布局稍复杂的系统就知道autoload的痛,ext类库是让我们用web网页方式开发c/s系统的一大利器,我想这没错吧,它就适合开发一些xx管理系统,好了,你随便下载个美萍的xx管理系统,看看如何用ext来autoload那样的界面。

当然如果用iframe代替autoload,势必造成ext类库重复加载的一大问题,没错,这很容易,拦截ext类库js,设置缓存响应,让客户缓存extjs就好了咯,说白了,就是客户端接收到的是http 203响应,而不是200,哈哈
0 请登录后投票
   发表时间:2009-02-14  
我也觉得,使用autoload加载,稍微复杂点布局和处理的,使用autoload做不了。
0 请登录后投票
   发表时间:2009-02-15  
mimijidi 写道
哈哈,一个月前很热衷ext,也突破了它的性能瓶颈,也已经摸索出了它的最佳开发方式,但是也现在不喜欢了,因为审美疲劳,现在看ext的界面感觉很丑的,象个浓妆艳抹的姑娘啊
我认为ext的最佳开发方式不是autoload,而是嵌入iframe,当你开发稍大的系统,布局稍复杂的系统就知道autoload的痛,ext类库是让我们用web网页方式开发c/s系统的一大利器,我想这没错吧,它就适合开发一些xx管理系统,好了,你随便下载个美萍的xx管理系统,看看如何用ext来autoload那样的界面。

当然如果用iframe代替autoload,势必造成ext类库重复加载的一大问题,没错,这很容易,拦截ext类库js,设置缓存响应,让客户缓存extjs就好了咯,说白了,就是客户端接收到的是http 203响应,而不是200,哈哈


精辟二字送给你
0 请登录后投票
   发表时间:2009-02-18  
严重同意,iframe对系统扩展也方便。设置响应代码点子还没用过,压缩后已经比较小了,目前就是前端渲染比较耗资源
0 请登录后投票
   发表时间:2009-02-23  
iframe不好共享ext对象吧
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics