<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的頁面的例子,我用了,感覺沒什么變化  回復  更多評論
      
    主站蜘蛛池模板: 免费福利电影在线观看| 亚洲精品456播放| a级毛片免费播放| 亚洲GV天堂无码男同在线观看| 久久久久久a亚洲欧洲aⅴ| 国产免费人成视频在线观看| 7m凹凸精品分类大全免费| yy一级毛片免费视频| 亚洲久热无码av中文字幕| 亚洲精品国产成人| 久久久久久久久亚洲| 亚洲精品成人片在线观看| 国产无遮挡吃胸膜奶免费看| 国产成在线观看免费视频| 日韩精品极品视频在线观看免费| 成av免费大片黄在线观看| 黄色毛片免费在线观看| 亚洲成在人线在线播放无码| 亚洲乱人伦精品图片| 久久亚洲AV成人无码软件| 亚洲第一视频网站| 亚洲AV第一页国产精品| 亚洲精品乱码久久久久66| 精品国产香蕉伊思人在线在线亚洲一区二区 | 91在线免费观看| 亚洲一级片免费看| 亚洲第一视频在线观看免费| 猫咪免费观看人成网站在线| 久久人午夜亚洲精品无码区| 亚洲日本中文字幕天天更新| 国产亚洲精品VA片在线播放| 久久亚洲精品专区蓝色区| 亚洲mv国产精品mv日本mv| 亚洲kkk4444在线观看| 国产成人精品亚洲2020| 亚洲综合色婷婷在线观看| 国产午夜亚洲精品国产| 亚洲日韩乱码中文字幕| 亚洲国产无线乱码在线观看| 亚洲av无码成人精品国产 | 在线看片免费不卡人成视频 |