<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的頁面的例子,我用了,感覺沒什么變化  回復  更多評論
      
    主站蜘蛛池模板: 成人毛片视频免费网站观看| 成人无码a级毛片免费| 免费看片在线观看| 久久久久久a亚洲欧洲AV| 成在人线av无码免费高潮水| 亚洲最大激情中文字幕| www免费插插视频| 国产亚洲精午夜久久久久久| 免费无码H肉动漫在线观看麻豆| 久久精品国产亚洲麻豆| 国产午夜不卡AV免费| 亚洲AV福利天堂一区二区三| 蜜桃成人无码区免费视频网站| 亚洲成人午夜在线| 青青视频观看免费99| 亚洲欧美一区二区三区日产| 日本高清免费不卡在线| av网站免费线看| 亚洲激情在线视频| 永久免费av无码不卡在线观看| 亚洲精品乱码久久久久久蜜桃图片 | 污污污视频在线免费观看| 免费看国产一级片| aa级毛片毛片免费观看久| 亚洲综合视频在线| 最近中文字幕mv手机免费高清| 国产亚洲美女精品久久久久| 久久久久国产成人精品亚洲午夜| 免费人成网站在线观看不卡| 亚洲美女精品视频| 国产免费观看黄AV片| a级毛片在线免费看| 亚洲最大黄色网站| 亚洲国产成人精品无码久久久久久综合 | 男人的天堂av亚洲一区2区| 亚洲午夜无码AV毛片久久| 69视频在线是免费观看| 午夜亚洲国产精品福利| 亚洲AV福利天堂一区二区三| 性做久久久久免费看| 鲁丝片一区二区三区免费|