<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 495,comments - 227,trackbacks - 0
    久別大家一年了,其實這一年我從簡單實現了一個Yui-Ext0.33項目后,基本沒有在Ajax表現層花太多的時間,而是轉向研究Jbpm和WebService在項目中的應用,而且大半年前Ext推出1.0版本,感覺在項目中升級使用還不夠成熟,所以在項目中繼續應用小巧的0.33版,基本滿足需要。

    由于現在項目越來越大,而且Ext2已經推出,界面實在充滿誘惑,相信商業化的Ext2將更適合項目開發,所以現在對Ext2一些關鍵問題進行研究,首當其沖要解決的就是ext-all.js(512K)太大的問題。

    針對js包太大的問題,有兩個現在比較流行的解決方案:
    1. 使用jsbuild等工具把需要調用的js重新包裝,此方法的缺點是Ext用的最多的是form和grid等控件,刪減后包容量減少不明顯,而且我是打包了幾次失敗,就沒耐心了,當然,要做到最好調優,這個方案是要考慮的,基本方法就是頁面調用核心的ext-core.js,然后再把頁面要用的包自己包裝。

    2. 使用gzip在服務器端犧牲一點cpu資源進行壓縮,有效減低傳輸流量,由瀏覽器解壓處理后執行。這個解決方案另我眼前一亮,其實也不是什么新東西,2005年的老東西了,只是當時沒有想到js會如此龐大,但現在老技術還是很實用的。下面將重點研究這個解決方案。

    第一步,在web.xml增加一個gzipfilter,不用自己寫,有現成的,到地址:http://sourceforge.net/projects/filterlib下載,新建一個測試項目,最簡單就在index.jsp直接調用ext-all.js,把tk-filters.jar拷貝到項目的lib目錄,然后在web.xml加入:
    Java代碼 復制代碼
    1. <filter>   
    2.     <filter-name>CompressingFilter</filter-name>   
    3.     <filter-class>   
    4.         com.tacitknowledge.filters.gzipfilter.GZIPFilter   
    5.     </filter-class>      
    6. </filter>   
    7.         <!-- 這里按自己許多針對不同文件進行filter-mapping配置,比如*.css -->   
    8. <filter-mapping>   
    9.     <filter-name>CompressingFilter</filter-name>   
    10.     <url-pattern>*.js</url-pattern>                     
    11. </filter-mapping>  


    第二步,調試,調試js現在發現最好的工具應該是FireFox+firebug(插件),FireFox我用1.5版本,調試足夠了,我使用Weblogic作調試服務器,tomcat也可以,但我的tomcat在server.xml直接配置gzip壓縮功能,所以用weblogic免得測試不出來。啟動項目后,用Firefox打開index.jsp頁面,頁面調出后可能會有腳本錯誤,但可以不管,關鍵看文件的大小,打開工具->firebug->open firebug,尋找net項,即可看到調用的ext-all.js的壓縮效果,如附圖的比較,效果不錯吧,512K => 137K,如果發現js壓縮沒效果,注意打開工具->清除私隱數據,清掉可能存在的cache,再刷新頁面重試。

    第三步,壓力測試,我使用loadrunner7.8測試,簡單實用,沒有8.0以上版本的華麗和慢。使用1000個進程測試,發現了意外的結果(見附圖),在本機測試,不用gzip壓縮只用了36秒,而使用gzip壓縮后則是1分49秒,流量在壓縮后從1,315,914,600降到313,125,680,流量隨著文件的壓縮而減少,效果也很明顯,查其原因,應該是因為壓縮和解壓對服務器和瀏覽器的資源消耗,而且是在本機測試,本機排除了帶寬的影響,所以壓縮前性能反而高了。

    由于我研究的時間不長,在壓力測試方面還沒在實際項目中測試,不能一概而論,初步分析,如果是局域網項目,帶寬不受限制,不使用壓縮性能會好點,而對于互聯網環境則要考慮壓縮方案,也希望有興趣的開發者共同研究一下這個解決方案在實際項目中的可行性,希望大家討論。
    • 37a8d707-44d1-369f-b393-0564db55c4a4-thumb
    • 描述:
    • 大小: 50.7 KB
    • 查看次數: 58
    • 73e56e32-afb4-33a5-82bc-5bfaa57aa328-thumb
    • 描述:
    • 大小: 76.8 KB
    • 查看次數: 36
    • 1d6c71a8-0f87-351e-9a37-2bd5a292264c-thumb
    • 描述:
    • 大小: 75.5 KB
    • 查看次數: 26
    posted on 2008-04-03 19:51 SIMONE 閱讀(2616) 評論(1)  編輯  收藏 所屬分類: JAVAJavaScript

    FeedBack:
    # re: 關于Ext的Js太大的問題研究解決
    2008-04-16 09:26 | 仍然人
    可否給一個index.jsp的頁面的例子,我用了,感覺沒什么變化  回復  更多評論
      
    主站蜘蛛池模板: 亚洲不卡AV影片在线播放| 一级毛片成人免费看免费不卡| 亚洲精品久久无码| ass亚洲**毛茸茸pics| 亚洲综合图片小说区热久久| 亚洲欧洲日产国码久在线观看| 国产精品亚洲A∨天堂不卡| 亚洲中文字幕无码永久在线| 激情综合色五月丁香六月亚洲| 国产亚洲AV手机在线观看| 久久久久无码专区亚洲av| 中文字幕亚洲综合久久菠萝蜜 | 久久www免费人成精品香蕉| 一区二区三区免费视频网站| 一级做受视频免费是看美女| 国产三级在线免费观看| 国产免费拔擦拔擦8X高清在线人| 日韩免费在线视频| 久久精品国产免费观看三人同眠| 国产四虎免费精品视频| 大学生高清一级毛片免费| 国产一级一片免费播放| 中文字幕亚洲日本岛国片| 亚洲Av综合色区无码专区桃色| 亚洲综合精品香蕉久久网97| 亚洲人成网站在线观看播放动漫| 亚洲中文精品久久久久久不卡| 国产偷国产偷亚洲清高APP| 九一在线完整视频免费观看 | 亚洲六月丁香六月婷婷蜜芽 | 久久精品视频亚洲| 亚洲图片中文字幕| 亚洲av无码一区二区三区四区| 免费一级毛片在线播放视频免费观看永久| 久久精品国产亚洲AV久| 日日摸日日碰夜夜爽亚洲| 毛片基地看看成人免费| 毛片免费全部播放无码| 国产精品成人无码免费| 亚洲精品自产拍在线观看| 亚洲日本视频在线观看|