龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > Javascript编程 >

加速你的Ajax应用

时间:2013-03-06 14:58来源:未知 作者:admin 点击:
分享到:
号称要超越Slashdot 的 digg.com 是一个典型的Ajax应用。它的首页使用了prototype框架和scriptaculous扩展。有好事者统计了加载digg.com的首页时总共下载JavaScript和CSS文件的字节数,发现不算上图

号称要超越Slashdot 的 digg.com 是一个典型的Ajax应用。它的首页使用了prototype框架和scriptaculous扩展。有好事者统计了加载digg.com的首页时总共下载JavaScript和CSS文件的字节数,发现不算上图片,光Html+JS+CSS就有250多k,于是提出了Digg: Javascript overload?的疑问。  Zimbra 针对这个问题,给出了一些优化的方法:AJAX and CSS Optimization,要点如下:  

将多个js或者CSS文件整合成一个文件以减少HTTP连接数,使用类似jsmin的工具移除注释、空白以及多余的空行等以减少网络传输的数据量,在web服务端应用gzip compression 压缩   Zimbra 使用以上方式优化后,测试发现减少了50%以上的带宽。 
在我们现在和将来的Ajax开发中一定也会遭遇类似digg.com的性能问题。Zimbra的解决方案可供参考。关于HTTP Compression,我觉得是优化Ajax最为关键的部分。我们可以应用web server默认提供的机制,比如Tomcat5.x在Connector 配置中提供的压缩选项,一个典型的Connector配置如下:  

port="8080" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" 
maxSpareThreads="75" enableLookups="false" redirectPort="8443" 
acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true"  
compression="on"
compressableMimeType="text/html,text/xml,text/plain,text/javascript,text/css" 
/> 
以上配置使用compression属性激活压缩,然后用compressableMimeType属性设置应用压缩的Mime Type类型。最著名的Apache服务器也提供了mod_deflate 等模块提供类似的压缩配置。 

另外还可以通过调用web server提供的API编程来提供压缩功能,比如使用Java为Servlet容器提供一个GzipFilter的应用也很普遍。

(责任编辑:海纳百川  qlmzl11268@hotmail.com   TEL:(010)68476606-8007 )


精彩图集

赞助商链接